Difference between revisions of "Xargs"
From Notes_Wiki
m |
m |
||
Line 1: | Line 1: | ||
<yambe:breadcrumb>Shell scripting</yambe:breadcrumb> | <yambe:breadcrumb self="Xargs">Shell scripting|Shell scripting</yambe:breadcrumb> | ||
=xargs= | =xargs= | ||
Line 17: | Line 17: | ||
ls -1 | grep '^[0-9].*' | xargs -I {} mv {} temp | ls -1 | grep '^[0-9].*' | xargs -I {} mv {} temp | ||
</pre> | </pre> | ||
<yambe:breadcrumb self="Xargs">Shell scripting|Shell scripting</yambe:breadcrumb> |
Revision as of 05:43, 18 September 2018
<yambe:breadcrumb self="Xargs">Shell scripting|Shell scripting</yambe:breadcrumb>
xargs
'xargs' is very useful for running some command using single line from input at a time as parameter. For example to compress all files using gzip in a folder one can use:
ls -1 | xargs gzip
In this case if the folder has three files 'a.txt', 'b.txt' and 'c.txt' then following three commands would run due to xargs command above:
gzip a.txt gzip b.txt gzip c.txt
If the argument is not expected at end of command then an input pattern can be specified with -I (such as {}) which can be replaced with filename. For example to move all files that start with digit to a folder temp use:
ls -1 | grep '^[0-9].*' | xargs -I {} mv {} temp
<yambe:breadcrumb self="Xargs">Shell scripting|Shell scripting</yambe:breadcrumb>