User Tools

Site Tools


one_liners

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
one_liners [2011/02/02 18:22] – created ginkoone_liners [2014/09/15 01:09] (current) ginko
Line 1: Line 1:
 ====== One-Liners====== ====== One-Liners======
-Des lignes de commandes qui réalisent en une seule ligne des traitements complexes.+Des lignes de commandes qui réalisent en une seule ligne des traitements complexes. (Voir aussi [[shell_cmds|Shell commands]])
 ===== Shell ===== ===== Shell =====
 ==== Find ==== ==== Find ====
Line 6: Line 6:
   * Réaliser une opération sur certains fichiers: <code bash>find . -user DE05425A -exec chmod 777 {} \;</code>   * Réaliser une opération sur certains fichiers: <code bash>find . -user DE05425A -exec chmod 777 {} \;</code>
   * Lister certains repertoires: <code bash>find $home -type d -name "*foobar" -ls</code>   * Lister certains repertoires: <code bash>find $home -type d -name "*foobar" -ls</code>
 +  * Lister uniquement les fichiers du répertoire (pas de récursivité): <code bash># Versions GNU & BSD:
 +find /path -maxdepth 1 -name "plop*"
 +# Autres versions
 +cd /path
 +find . ! -name . -prune -name "plop*"</code>
 +  * Exécuter plusieurs commandes: <code bash>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 {}' \;</code>
 +  * Sélectionner un fichier au hasard : <code bash>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)"</code>
 +==== Random ====
 +  * Obtenir une chaine aléatoire (ici 8 caractères):
 +    * Alpha seulement : <code bash>tr -dc "[:alpha:]" < /dev/urandom | head -c 8</code>
 +    * Alphanumérique : <code bash>tr -dc "[:alnum:]" < /dev/urandom | head -c 8</code>
 ===== Perl ===== ===== 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 ''<>''. 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 ''<>''.
Line 12: Line 29:
 Pour communiquer un fichier via SSH sans scp, sftp et consorts: Pour communiquer un fichier via SSH sans scp, sftp et consorts:
 <code bash>ssh user@host cat /path/file.zip > file.zip</code> <code bash>ssh user@host cat /path/file.zip > file.zip</code>
 +===== Cinnamon =====
 +Eteindre la machine proprement via cinnamon (ne requière pas d'élévation de privilèges) : <code bash>cinnamon-session-quit --power-off</code>
 +
  
one_liners.1296667371.txt.gz · Last modified: 2011/02/02 18:22 by ginko