Banyak utilitas baris perintah dapat mengambil inputnya baik dari pipa atau sebagai argumen nama file. Untuk skrip shell panjang, saya menemukan memulai rantai dengan cat
membuatnya lebih mudah dibaca, terutama jika perintah pertama akan membutuhkan argumen multi-line.
Membandingkan
sed s/bla/blaha/ data \
| grep blah \
| grep -n babla
dan
cat data \
| sed s/bla/blaha/ \
| grep blah \
| grep -n babla
Apakah metode yang terakhir kurang efisien? Jika demikian, apakah perbedaannya cukup untuk dipedulikan jika skrip dijalankan, katakanlah, satu detik sekali? Perbedaan dalam keterbacaan tidak besar.
cat
. Namun saya pikir pertanyaan yang lebih besar di sini adalah pembacaan kode yang sering merupakan prioritas dibandingkan kinerja. Ketika lebih cepat sebenarnya bisa ditulis lebih cantik , mengapa tidak? Menunjukkan masalah dengan cat
biasanya menyebabkan pengguna memiliki pemahaman yang lebih baik tentang saluran pipa dan proses secara umum. Ini sepadan dengan usaha sehingga mereka menulis kode yang dapat dipahami di waktu berikutnya.
cat
; Poin Caleb tentang menggunakan fungsi dan pengalihan menyelesaikan juga.)