Polecenie to przypomina poprzednie, jednakowoż uruchamia ono edytor vi dla każdego z plików. Flaga -t powoduje wypisanie komendy do strumienia stderr przed przystąpieniem do jej realizacji. -r jest rozszerzeniem GNU informującym, że xargs nie wykona polecenia jeżeli nie otrzyma nic na wejście.
find . -name "*.foo" -print0 | xargs -0 -I {} mv {} /tmp/trash
Powyższa komenda korzysta z -I aby rozkazać xargs wypełnienie {} listą argumentów. Pamiętaj jednak, że nie wszystkie wersje xargs wspomagają składnię {}. W takim wypadku możesz napisać np:
find . -name "*.foo" -print0 | xargs -0 -I xxx mv xxx /tmp/trash
Powyższe polecenie wykorzystuje xxx zamiast {} jako znacznik listy argumentów.
find . -maxdepth 1 -type f -name "*.ogg" -print0 | xargs -0 -r cp -v -p --target-directory=/home/media
To polecenie to nic innego jak:
cp -v -p *.ogg /home/media
lecz nie zajmuje ono tak wielu zasobów, kosztem niezwracania błędu kiedy polecenie cp otrzyma więcej plików niż może obsłużyć. Innym sposobem (w którym to sami decydujemy, gdzie umieścimy argumenty) to:
find . -maxdepth 1 -type f -name "*.ogg" -print0 | xargs -0 -IMYFILES cp MYFILES /home/media