GNU/Linux >> Belajar Linux >  >> Linux

Keuntungan dari file cat'ing dan pemipaan ke grep

Lebih baik hindari kucing; tulis seperti ini jika pengeditan baris penting:

$ < filename grep pattern

Alasannya adalah bahwa mendorong semua data melalui cat membutuhkan memori dan sumber daya CPU. Manfaat lain dari meneruskan nama file sebagai argumen daripada redirect stdin adalah memungkinkan perintah opsi untuk mmap() file.


Saya tidak percaya belum ada yang mereferensikan "Useless Use of Cat" http://www.smallo.ruhr.de/award.html

Ada satu keuntungan yang dipertanyakan. Jika Anda memiliki alur yang panjang, tampilannya sedikit lebih ortogonal dengan cat:

cat file | command1 | command 2 | command3

Itu mengelompokkan semua perintah bersama-sama.

Tentu saja seperti yang orang lain katakan (dan saya lakukan)

< file command1 | command2 | command3

Melakukan hal yang hampir sama. Konon, cat cukup kecil dan tidak akan mematikan komputer Anda jika Anda menggunakannya saat tidak benar-benar diperlukan.

Biasanya menggunakan cat vs langsung memukul file tidak mengubah apa pun, tetapi itu membuat perbedaan untuk perintah tertentu yang peduli jika ada banyak file sebagai argumen, seperti grep . Contoh kasus:

cat file1 file2 | grep SOMETHING

akan memiliki output yang berbeda dari

grep SOMETHING file1 file2

Yang akan memiliki nama file yang cocok di output. Ada kalanya saya tidak menginginkan nama file, dan merupakan keuntungan menggunakan cat .


Tidak ada keuntungan. Kursor Anda berada di akhir juga tidak masalah jika Anda menyusunnya seperti ini:< inputfile grep -args foo


Linux
  1. Perbedaan Antara Cat Dan '>' Untuk Menghilangkan File?

  2. Output Ke Stdout Dan Pada Saat Yang Sama Grep Ke File?

  3. Izin File Dan Menyimpan?

  1. Redirect Dan Output Pipa?

  2. Potong / Grep Dan Df -h?

  3. Grep Dan Ekor -f?

  1. Perintah grep Linux

  2. Daftar nama file berdasarkan pola nama file dan konten file?

  3. Cara grep \n dalam file