Molte utility della riga di comando possono prendere il loro input da una pipe o come argomento del nome file. Per gli script di shell lunghe, trovo che iniziare la catena con un catrenda più leggibile, specialmente se il primo comando avrebbe bisogno di argomenti a più righe.
Confrontare
sed s/bla/blaha/ data \
| grep blah \
| grep -n babla
e
cat data \
| sed s/bla/blaha/ \
| grep blah \
| grep -n babla
Quest'ultimo metodo è meno efficiente? In tal caso, la differenza è sufficiente a preoccuparsi se lo script viene eseguito, diciamo, una volta al secondo? La differenza nella leggibilità non è enorme.
cat. Tuttavia, penso che la domanda più grande qui sia la leggibilità del codice che spesso è una priorità rispetto alle prestazioni. Quando più veloce può effettivamente essere scritto più bello , perché no? Sottolineare il problema con di catsolito porta l'utente ad avere una migliore comprensione delle condotte e dei processi in generale. Ne vale la pena, quindi la prossima volta scrivono un codice comprensibile.
cat; il punto di Caleb sull'uso delle funzioni e del reindirizzamento risolve anche questo.)