Des lignes de commandes qui réalisent en une seule ligne des traitements complexes. (Voir aussi Shell commands)
find . -type f \( -perm -4000 -o -perm -2000 \) -exec ls {} \; 2>/dev/null
find . -user DE05425A -exec chmod 777 {} \;
find $home -type d -name "*foobar" -ls
# Versions GNU & BSD: find /path -maxdepth 1 -name "plop*" # Autres versions cd /path find . ! -name . -prune -name "plop*"
find /path -maxdepth 1 -name "plop*" -exec cmd1 {} \&\& cmd2 \; find . -name file1.cpp -exec ls -l {} \; -exec cat {} \; # Exécuter une fonction shell: export -f dosomething find . -exec bash -c 'dosomething {}' \;
find '/some/foobar/path' -name '*.txt' | shuf -n1 # Lire une video au hasard vlc "$(find '/media/videos' -name '*.mp4' -o -name '*.flv' -o -name '*.avi' -o -name '*.wmv' | shuf -n1)"
tr -dc "[:alpha:]" < /dev/urandom | head -c 8
tr -dc "[:alnum:]" < /dev/urandom | head -c 8
Pour faire un Perl one-liner: passer les arguments n
et e
. En cas de traitement d'un fichier en entrée, on peut récupérer le flux via <>
.
cat *20110201* | perl -ne '@talbe = split(/PRM/, <>); foreach (@talbe) {if (/.*<Identifiant>(\d{14})<\/Identifiant>.*/) {print "$1\n";};};'
Pour communiquer un fichier via SSH sans scp, sftp et consorts:
ssh user@host cat /path/file.zip > file.zip
Eteindre la machine proprement via cinnamon (ne requière pas d'élévation de privilèges) :
cinnamon-session-quit --power-off