Xargs Command Examples
The xargs command is a powerful utility in Unix-like operating systems that reads items from standard input, delimited by blanks or newlines, and executes a command one or more times with any initial-arguments followed by items read from standard input.
Find and Remove Files with Xargs
This section demonstrates how to use find in conjunction with xargs to locate and remove files. It covers handling filenames with spaces and ensuring commands are not run if no files are found.
# To Find all file name ending with .pdf and remove them
find -name *.pdf | xargs rm -rf
# if file name contains spaces you should use this instead
find -name *.pdf | xargs -I{} rm -rf '{}'
# Will show every .pdf like:
# &toto.pdf=
# &titi.pdf=
# -n1 => One file by one file. ( -n2 => 2 files by 2 files )
find -name *.pdf | xargs -I{} -n1 echo '&{}='
# If find returns no result, do not run rm
# This option is a GNU extension.
find -name "*.pdf" | xargs --no-run-if-empty rm
Understanding Xargs Options
Explore common xargs options that control how commands are executed, such as specifying the number of arguments per command execution (-n) and using placeholders (-I) for more complex command structures.
Safe Execution with Xargs
Learn about the importance of safe command execution, especially when dealing with file operations. The --no-run-if-empty option is crucial for preventing unintended actions when the input stream is empty.
Practical Use Cases for Xargs
Discover various scenarios where xargs proves invaluable, from batch processing files to constructing complex command pipelines that automate repetitive tasks efficiently.