En vrac (22)

Niveau : Star Star Empty Empty Empty
Résumé :

Ces com­man­des sont dans le paquet moreu­tils sur debian.

Ajou­ter un times­tamp sur cha­que ligne pour lire une com­mande un peu lente :

$ ./commande | ts | tail

Édi­ter en masse les entrées d’un réper­toire (pour renom­mer des ima­ges par exem­ple) :

# Tout le répertoire
$ vidir repertoire
# Seulement les images 
$ vidir *.jpg

Retour­ner le code d’erreur du pre­mier élé­ment d’un pipe et non du der­nier (très utile en scrip­ting) :

# Retourne une erreur si $dir n'existe pas
$ mispipe "ls $dir" "tail"

Véri­fier qu’un fichier utf8 est valide :

$ isutf8 fichier && echo OK || echo "Not OK" 

Ne pas écra­ser un fichier de des­ti­na­tion avant la fin de la com­mande :

# Version fonctionnelle de cat a b > a
$ cat a b | sponge a

Créer un script de type cron avec un lock sans effort :

$ lckdo -W 10 /var/lock/mylock /usr/local/bin/myscript

Édi­ter le con­tenu d’un pipe (très pra­ti­que pour le debug de script) :

$ commande1 | vipe | commande2

Évi­ter les envois de mail de rap­port lorsqu’il n’y a rien à rap­por­ter :

$ /usr/local/bin/rapport.pl | ifne mail -s "Synchro en retard" sysadmins@mynnet.net

Per­met­tre (option­nelle ment) de pas­ser des fichiers com­pres­sés en argu­ment à un script (comme pour zless) :

# Recoder zless
$ zrun less $1

Évi­ter de par­ser le résul­tat de ifcon­fig ou de ip dans un script (nom­breu­ses options, de sor­tie, lire le man) :

# Afficher le nombre d'octets reçus
$ ifdata -sib eth0

Pas­ser le résul­tat d’une com­mande à plu­sieurs autres

# Attention si commande1 et commande2 produit du texte, rien ne garantit leur ordre
$ commande | pee "commande1" "commande2"

Com­pa­rer ligne par ligne deux fichiers avec des opé­ra­teurs plus évo­lués que comm :

$ combine fichier1 xor fichier2
Vus : 208
Publié par Peck : 100