-n
$ touch {A..F}{a..c}.txt
$ ls | xargs -n 1 ls
Aa.txt
Ab.txt
Ac.txt
Ba.txt
Bb.txt
Bc.txt
Ca.txt
Cb.txt
Cc.txt
Da.txt
Db.txt
Dc.txt
Ea.txt
Eb.txt
Ec.txt
Fa.txt
Fb.txt
Fc.txt
$ ls | xargs -n 2 ls
Aa.txt Ab.txt
Ac.txt Ba.txt
Bb.txt Bc.txt
Ca.txt Cb.txt
Cc.txt Da.txt
Db.txt Dc.txt
Ea.txt Eb.txt
Ec.txt Fa.txt
Fb.txt Fc.txt
$ ls | xargs -n 3 ls
Aa.txt Ab.txt Ac.txt
Ba.txt Bb.txt Bc.txt
Ca.txt Cb.txt Cc.txt
Da.txt Db.txt Dc.txt
Ea.txt Eb.txt Ec.txt
Fa.txt Fb.txt Fc.txt
$ ls | xargs -n 4 ls
Aa.txt Ab.txt Ac.txt Ba.txt
Bb.txt Bc.txt Ca.txt Cb.txt
Cc.txt Da.txt Db.txt Dc.txt
Ea.txt Eb.txt Ec.txt Fa.txt
Fb.txt Fc.txt
$ ls | xargs -n 5 ls
Aa.txt Ab.txt Ac.txt Ba.txt Bb.txt
Bc.txt Ca.txt Cb.txt Cc.txt Da.txt
Db.txt Dc.txt Ea.txt Eb.txt Ec.txt
Fa.txt Fb.txt Fc.txt
$ ls | xargs -n 8 ls
Aa.txt Ab.txt Ac.txt Ba.txt Bb.txt Bc.txt Ca.txt Cb.txt
Cc.txt Da.txt Db.txt Dc.txt Ea.txt Eb.txt Ec.txt Fa.txt
Fb.txt Fc.txt
Renommage
ls | xargs -n 1 bash -c 'nomfic=$0 ; echo mv ${nomfic} ${nomfic/%txt/md}'
Ecriture d’un nom de fichier dans le texte d’un autre
Utilisation de 2 arguments pour chaque commande
ls | xargs -n 2 bash -c 'src="$0" ; dest="$1" ; echo ${src} >> ${dest} '
-I
ls | xargs -I{} bash -c 'nomfic={}; echo mv ${nomfic} ${nomfic/%txt/md}'
-0
$ touch {A..F}" "{a..c}.txt
$ find . -type f
./F a.txt
#...
./F c.txt
$ find . -type f | xargs -n 1 file # Problème avec les noms avec espaces
./F: cannot open `./F' (No such file or directory)
a.txt: cannot open `a.txt' (No such file or directory)
#...
./F: cannot open `./F' (No such file or directory)
c.txt: cannot open `c.txt' (No such file or directory)
$ find . -type f -print0 | xargs -n 1 -0 file # Utilisation de null comme séparateur au lieu d'espace
./F a.txt: empty
./E a.txt: empty
#...
./D c.txt: empty
./F c.txt: empty
$ find /etc -type f -and -readable | xargs -I{} grep -iHn keyboard {}
find: ‘/etc/ssl/private’: Permission denied
/etc/default/keyboard:1:# KEYBOARD CONFIGURATION FILE
/etc/default/keyboard:3:# Consult the keyboard(5) manual page.
/etc/init.d/keyboard-setup.sh:3:# Provides: keyboard-setup.sh
/etc/init.d/keyboard-setup.sh:10:# Short-Description: Set the console keyboard layout
/etc/init.d/keyboard-setup.sh:11:# Description: Set the console keyboard as early as possible
/etc/init.d/keyboard-setup.sh:38: log_action_begin_msg "Setting up keyboard layout"
/etc/init.d/keyboard-setup.sh:39: if /lib/console-setup/keyboard-setup.sh; then
/etc/init.d/keyboard-setup.sh:46: echo 'Usage: /etc/init.d/keyboard-setup {start|reload|restart|force-reload|stop|status}'
/etc/console-setup/remap.inc:1:# The content of this file will be appended to the keyboard layout.
$ find /etc -type f -and -readable | xargs -n 1 grep -iHn keyboard
find: ‘/etc/ssl/private’: Permission denied
/etc/default/keyboard:1:# KEYBOARD CONFIGURATION FILE
/etc/default/keyboard:3:# Consult the keyboard(5) manual page.
/etc/init.d/keyboard-setup.sh:3:# Provides: keyboard-setup.sh
/etc/init.d/keyboard-setup.sh:10:# Short-Description: Set the console keyboard layout
/etc/init.d/keyboard-setup.sh:11:# Description: Set the console keyboard as early as possible
/etc/init.d/keyboard-setup.sh:38: log_action_begin_msg "Setting up keyboard layout"
/etc/init.d/keyboard-setup.sh:39: if /lib/console-setup/keyboard-setup.sh; then
/etc/init.d/keyboard-setup.sh:46: echo 'Usage: /etc/init.d/keyboard-setup {start|reload|restart|force-reload|stop|status}'
/etc/console-setup/remap.inc:1:# The content of this file will be appended to the keyboard layout.
Plus lent:
$ find /etc -type f -and -readable -exec grep -iHn keyboard {} \;
/etc/default/keyboard:1:# KEYBOARD CONFIGURATION FILE
/etc/default/keyboard:3:# Consult the keyboard(5) manual page.
/etc/init.d/keyboard-setup.sh:3:# Provides: keyboard-setup.sh
/etc/init.d/keyboard-setup.sh:10:# Short-Description: Set the console keyboard layout
/etc/init.d/keyboard-setup.sh:11:# Description: Set the console keyboard as early as possible
/etc/init.d/keyboard-setup.sh:38: log_action_begin_msg "Setting up keyboard layout"
/etc/init.d/keyboard-setup.sh:39: if /lib/console-setup/keyboard-setup.sh; then
/etc/init.d/keyboard-setup.sh:46: echo 'Usage: /etc/init.d/keyboard-setup {start|reload|restart|force-reload|stop|status}'
/etc/console-setup/remap.inc:1:# The content of this file will be appended to the keyboard layout.
find: ‘/etc/ssl/private’: Permission denied
Tout ceci est très différent de:
find /etc -type f -and -readable | grep -iHn keyboard