xargs je nejflexibilnější řešení pro rozdělení výstupu na argumenty příkazu.
Je také velmi dobře čitelný a snadno použitelný díky jednoduché parametrizaci.
 Formát je xargs -n $NUMLINES mycommand .
 Například do echo každý jednotlivý řádek v souboru /tmp/tmp.txt udělali byste:
cat /tmp/tmp.txt | xargs -n 1 echo
 Nebo na diff každý postupný pár souborů uvedený jako řádky v souboru s výše uvedeným názvem byste udělali:
cat /tmp/tmp.txt | xargs -n 2 diff
 -n 2 pokyn xargs konzumovat a předat jako samostatné argumenty dva řádky toho, co jste do něj vložili najednou.
 xargs si můžete přizpůsobit k rozdělení podle oddělovačů kromě konce řádku/nového řádku.
 Použijte man xargs a google, abyste se dozvěděli více o síle tohoto všestranného nástroje.
Nejlepší způsob, jak toho dosáhnout, je přesměrovat soubor do smyčky:
# Basic idea. Keep reading for improvements.
FILE=test
while read CMD; do
    echo "$CMD"
done < "$FILE"
 Přesměrování s < "$FILE" má oproti cat "$FILE" | while ... několik výhod . Vyhne se zbytečnému používání kočky a ušetří zbytečný dětský proces. Vyhne se také běžnému úskalí, kdy smyčka běží v podskořápce. V Bash jsou příkazy v | potrubí běží v podskořápkách, což znamená, že přiřazení proměnných se po skončení smyčky ztratí. Přesměrování pomocí < nemá tento problém, takže můžete použít $CMD za smyčkou nebo upravit jiné proměnné uvnitř smyčky. Také se opět vyhne zbytečným podřízeným procesům.
Je možné provést některá další vylepšení:
- Přidejte IFS=takžereadneořízne úvodní a koncové mezery z každého řádku.
- Přidejte -rnareadaby se zabránilo interpretaci zpětných lomítek jako únikových sekvencí.
- malá písmena CMDaFILE. Bashova konvence je, že pouze proměnné prostředí a vnitřního prostředí jsou velká písmena.
- Použijte printfmístoechocož je bezpečnější, pokud$cmdje řetězec jako-n, což jeechobude interpretováno jako vlajka.
file=test
while IFS= read -r cmd; do
    printf '%s\n' "$cmd"
done < "$file"
 To, co máte, je text "cat test" do smyčky.
Vy jen chcete:
cat test | \
while read CMD; do
    echo $CMD
done