
grep
패턴의 괄호가 결과에서 grep 절차를 제거하는 이유 는 무엇 입니까 ps
?
$ ps -ef | grep XXXX
[...] XXXX
[...] grep XXXX
$ ps -ef | grep [X]XXX
[...] XXXX
답변1
grep을 실행하면 ps -ef | grep string
출력에 string
match 로 표시됩니다 [...] grep string
.
그러나 실행하면 grep이 로 변환되고 ps가 출력 되고 일치하는 항목이 없기 ps -ef | grep [s]tring
때문에 해당 행이 표시되지 않습니다.[s]tring
string
[...] grep [s]tring
string
답변2
대괄호는 bash에 대해 한 번, grep에 대해 한 번 이스케이프되어야 하기 때문에:
$ ps -ef | grep \\[X\\]XXX
[...] XXXX
[...] grep XXXX
$ ps -ef | grep "\[X\]XXX"
[...] XXXX
[...] grep XXXX