Xargs
xargs is a unix command for assigning various inputs to different other unix commands.
The Natural Function Connector
This command/program is particularly useful, and relevant to programming in general, because it is a way to redirect inputs from data pipes. In other words, it is a bridge between input sources and any chosen programs that can be run at the Unix command line. While using this instruction, I realized that xargs
is a way to help users experience interactive functional programming. Similar impression can be attained by watching people writing CSS (2D) or using Geometry Node (3D) in Blender. See more observations in the page on automation and data scraping.
Executing one line at a time
To execute commands for each of the line feed, use the following option:-n 1
. For example:
ls | xargs -n 1 -i echo {}
A practical use in MediaWiki data loading
ls MODULE/ | xargs -n 1 -i grep {} moduleNameDictionary.txt > selectedModule.txt
In this case, selecteModule.txt
could be processed using grep UNIX command.
Note that one must supply the -i
option, so that {}
can become the placeholder for content piped from the previous process.
Accepting special separators
In certain cases, when the input data embeds separators, one needs to turn on the -0
option. For example:
ls | xargs -0 -n 1 cp {} /targetDirectory
Related Pages
Video/HOW TO USE Xargs!!! Linux Core Utils, Video/Intro to xargs, Video/Xargs Should Be In Your Command Line Toolbag, Video/all about xargs ! (beginner - intermediate) anthony explains, Xargs