$ curl cheat.sh/
 cheat.sheets:xargs 
# xargs
# Build and execute command lines from standard input

# Find all file names ending with .pdf, then remove them.
find -name \*.pdf | xargs rm
# The above, however, is better-written without xargs:
find -name \*.pdf -exec rm {} \+
# Although it's best to use find's own functionality, in this situation.
find -name \*.pdf -delete

# Find all file names ending with '.pdf' and remove them. This approach also
# handles filenames with '\n' and skips '*.pdf' directories. The xargs(1) flag
# `-r` is equivalent to `--no-run-if-empty`, and the use of `-n` will in this
# case group execution by 10 files.
find -name \*.pdf -type f -print0 | xargs -0 -r -n 10 rm

# If file names may contains spaces, you can use the xargs(1) flag `-I` and its
# proceeding argument to specify the filename placeholder, as in find(1)'s use
# of `{}` in `-exec`. Although find(1)'s `{}` needs not be cuddled by quotes, -
# xargs(1) does.
find -name \*.pdf | xargs -I {} rm -r '{}'

# Print a list of files in the format of `*FILE=`. The use of xargs(1) flag
# `-n` here with its argument of `1` means to process the files one-by-one.
find -name \*.pdf | xargs -I {} -n 1 echo '&{}='
# The above is, however, much faster, more efficient, and easier without xargs.
find -name \*.pdf -printf '&%f=\n'

# Group words by three in a string.
seq 1 10 | xargs -n 3
# Alternatively, and more efficiently, use Bash brace expansion, if available.
printf '%d ' {1..10} | xargs -n 3

 cheat:xargs 
# 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

 tldr:xargs 
# xargs
# Execute a command with piped arguments coming from another command, a file, etc.
# The input is treated as a single block of text and split into separate pieces on spaces, tabs, newlines and end-of-file.
# More information: <https://pubs.opengroup.org/onlinepubs/9699919799/utilities/xargs.html>.

# Run a command using the input data as arguments:
arguments_source | xargs command

# Run multiple chained commands on the input data:
arguments_source | xargs sh -c "command1 && command2 | command3"

# Delete all files with a `.backup` extension (`-print0` uses a null character to split file names, and `-0` uses it as delimiter):
find . -name '*.backup' -print0 | xargs -0 rm -v

# Execute the command once for each input line, replacing any occurrences of the placeholder (here marked as `_`) with the input line:
arguments_source | xargs -I _ command _ optional_extra_arguments

# Parallel runs of up to `max-procs` processes at a time; the default is 1. If `max-procs` is 0, xargs will run as many processes as possible at a time:
arguments_source | xargs -P max-procs command

$
Follow @igor_chubin cheat.sh