grep - grep 패턴의 괄호가 ps 결과에서 grep 절차를 제거하는 이유는 무엇입니까?

grep - grep 패턴의 괄호가 ps 결과에서 grep 절차를 제거하는 이유는 무엇입니까?

grep패턴의 괄호가 결과에서 grep 절차를 제거하는 이유 는 무엇 입니까 ps?

$ ps -ef | grep XXXX

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


$ ps -ef | grep [X]XXX

[...] XXXX

답변1

grep을 실행하면 ps -ef | grep string출력에 stringmatch 로 표시됩니다 [...] grep string.

그러나 실행하면 grep이 로 변환되고 ps가 출력 되고 일치하는 항목이 없기 ps -ef | grep [s]tring때문에 해당 행이 표시되지 않습니다.[s]tringstring[...] grep [s]tringstring

답변2

대괄호는 bash에 대해 한 번, grep에 대해 한 번 이스케이프되어야 하기 때문에:

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

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


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

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

관련 정보