Divers Bash
Rédigé par Paulo
Aucun commentaire
Classé dans : Bash
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 :
-
modification du séparateur IFS :
IFS="$";for i in $(cat fichier.txt);do echo $i;done AA BB CC DDDDDD EE FF GG
-
utilisation de while :
while read ligne;do echo $ligne;done < monficier.txt
Changement mot de passe dans un script :
-
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/