grep - mengapa tanda kurung dalam pola grep menghapus proses grep dari hasil ps?


Jawaban:


20

Ketika Anda menjalankan ps -ef | grep string, grep ditampilkan dalam output karena stringcocok [...] grep string.

Tetapi, ketika Anda menjalankan ps -ef | grep [s]tringbaris tidak ditampilkan, karena grep diterjemahkan [s]tringmenjadi string, sedangkan ps menghasilkan [...] grep [s]tring, dan itu tidak cocokstring


1
... karena []mewakili salah satu dari rangkaian karakter di dalam tanda kurung, yang dalam hal ini "s" adalah satu-satunya ...
Dijeda sampai pemberitahuan lebih lanjut.

ya ... Saya benar-benar kesulitan mencoba menjelaskan yang ini dalam bahasa Inggris ... itu bukan bahasa pertama saya :)
Stefan

2

Karena tanda kurung harus diloloskan, untuk bash sekali dan untuk grep lagi:

$ ps -ef | grep \\[X\\]XXX

[...] XXXX
[...] grep XXXX


$ ps -ef | grep "\[X\]XXX"

[...] XXXX
[...] grep XXXX
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.