xargs Favorites
Basic: Pipe to Command
find . -name "*.log" | xargs rm
Handle Spaces in Filenames
find . -name "*.log" -print0 | xargs -0 rm
One Argument Per Command
cat hosts.txt | xargs -I {} ssh {} "uptime"
Parallel Execution
cat urls.txt | xargs -P 4 -I {} curl -sS {}
Limit Arguments Per Command
echo 1 2 3 4 5 | xargs -n 2 echo
# Output:
# 1 2
# 3 4
# 5
Confirm Before Execution
find . -name "*.tmp" | xargs -p rm
Build grep Command
find . -name "*.py" | xargs grep "import os"
Multiple Hosts SSH
echo "host1 host2 host3" | xargs -n1 -P3 -I {} ssh {} "df -h"
Delete Old Files
find /var/log -name "*.log" -mtime +30 -print0 | xargs -0 rm -f
Bulk Rename
ls *.txt | xargs -I {} mv {} {}.bak
Git: Add Files Matching Pattern
git status --porcelain | awk '/^\?\?.*\.adoc/{print $2}' | xargs git add
Process in Batches
# Process 10 items at a time
cat large-list.txt | xargs -n 10 some-command