Saya mencoba menghasilkan perilaku ini:
grep 192.168.1 *.txt
Dengan mengirimkan string ke grep melalui Xargs tetapi sedang berjalan di akhir alih-alih sebagai parameter pertama.
echo 192.168.1 | xargs grep *.txt
Saya perlu memberi tahu xargs (atau yang serupa) untuk meletakkan string yang masuk antara 'grep' dan '*' alih-alih di akhir.
Bagaimana saya melakukan ini?
Jawaban:
Contoh
File sampel:
Contoh dijalankan:
sumber
Pendekatan lain:
Ini tidak akan membanjiri panjang baris perintah shell dengan terlalu banyak nama file. Untuk menghindari kebingungan
xargs
/grep
dengan nama file yang memiliki spasi,-print0
dan-0
opsi akan menggambarkan setiap nama yang ditemukan dengan null daripada LF.sumber