User Tools

Site Tools


one_liners

This is an old revision of the document!


One-Liners

Des lignes de commandes qui réalisent en une seule ligne des traitements complexes. (Voir aussi Shell commands)

Shell

Find

  • Trouver des fichier possédant des “SID” (SUID (4000), SGID (2000), StickyBit (1000)):
    find . -type f \( -perm -4000 -o -perm -2000 \) -exec ls {} \; 2>/dev/null
  • Réaliser une opération sur certains fichiers:
    find . -user DE05425A -exec chmod 777 {} \;
  • Lister certains repertoires:
    find $home -type d -name "*foobar" -ls
  • Lister uniquement les fichiers du répertoire (pas de récursivité):
    # Versions GNU & BSD:
    find /path -maxdepth 1 -name "plop*"
    # Autres versions
    cd /path
    find . ! -name . -prune -name "plop*"
  • Exécuter plusieurs commandes:
    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 {}' \;
  • Sélectionner un fichier au hasard :
    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)"

Random

  • Obtenir une chaine aléatoire :
    • Alpha seulement :
      tr -dc "[:alpha:]" < /dev/urandom | head -c 8
    • Alphanumérique :
      tr -dc "[:alnum:]" < /dev/urandom | head -c 8

Perl

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 <>.

  • Lister des données immergées dans de l'xml dans différents fichiers:
    cat *20110201* | perl -ne '@talbe = split(/PRM/, <>); foreach (@talbe) {if (/.*<Identifiant>(\d{14})<\/Identifiant>.*/) {print "$1\n";};};'

Astuce SSH

Pour communiquer un fichier via SSH sans scp, sftp et consorts:

ssh user@host cat /path/file.zip > file.zip

Cinnamon

Eteindre la machine proprement via cinnamon (ne requière pas d'élévation de privilèges) :

cinnamon-session-quit --power-off
one_liners.1410736139.txt.gz · Last modified: 2014/09/15 01:08 by ginko