Divers Bash

Rédigé par Paulo Aucun commentaire
Classé dans : Bash Mots clés : bash, xargs

Rappel sur quelques commandes afin de faciliter la création de répertoire :
 

#création des répertoires 2000 à 2009
mkdir 200{0..9}

#création de 3  répertoires (webmaster, webdesign, webtools)
mkdir web{master,design,tools}

#la commande fonctionne en sens inverse (méfiage malgré tout...)
rmdir 200{0..9}
rmdir web{master,design,tools}



Lecture d'un fichier sans saut de ligne aprés un espace :
Problème :

cat fichier.txt
    AA BB CC
    DDDDDDDD
    EE FF GG

for i in $(cat fichier.txt);do echo $i;done
    AA
    BB
    CC
    DDDDDD
    EE 
    FF
    GG

Solution :

  1. modification du séparateur  IFS :
    IFS="$";for i in $(cat fichier.txt);do echo $i;done
        AA BB CC
        DDDDDD
        EE FF GG 

     

  2. utilisation de while :
    while read ligne;do echo $ligne;done < monficier.txt
    
    

     

 

Changement mot de passe dans un script  :

 

  1. utilisation de la commande "chpasswd"
    echo user:password|chpasswd
    
    

     

utilisation de la commande "passwd"

 

Calcul de date en bash :
 

#date du jour + 30 jours/mois/année/semaine: 
date -d "+30 day"
date -d "+30 month"
date -d "+30 year"
date -d "+30 week"

#pareil mais formaté :
date +%Y-%m-%d -d "+30 day"
#ou dans une commande
chage -E $(date +%Y-%m-%d -d "+30 day") user


Selection/copie de fichier avec find + xargs :
 

#recherche des fichiers png/jpg/bmp et copie dans le repertoire /tmp/logos/
find .|egrep -i 'png|jpg|bmp'|xargs -i  cp {} /tmp/logos/

 

Les commentaires sont fermés.