![AIX - egrep을 사용하여 변수를 포함한 여러 문자열의 패턴 일치](https://linux55.com/image/121223/AIX%20-%20egrep%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%B3%80%EC%88%98%EB%A5%BC%20%ED%8F%AC%ED%95%A8%ED%95%9C%20%EC%97%AC%EB%9F%AC%20%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%98%20%ED%8C%A8%ED%84%B4%20%EC%9D%BC%EC%B9%98.png)
문자열 및 변수 집합과 패턴 일치를 수행할 수 있는 egrep 명령을 만들려고 합니다. 지금까지 나는 다음을 사용하고 있습니다 :
ps -ef <uid> | egrep "string1|string2" | egrep -v "string4|string5" | grep -v "${variable}"
이것은 작동하지만 균일하고 효율적인 구문을 가지려고 노력하고 있습니다.
Linux에서는 다음 명령을 사용할 수 있지만 AIX에서는 사용할 수 없습니다.
ps -ef <uid> | egrep "string1|string2" | grep -v "${variable}\|string4\|string5"
매뉴얼 페이지를 살펴보고 egrep -c 등을 시도했지만 작동하는 조합을 얻을 수 없습니다.
답변1
grep 및 egrep 명령을 함께 혼합하고 grep이 교대로 정규식으로 -E
구문 분석할 수 있도록 필요한 플래그를 제거했습니다. |
또는 전체적으로 egrep을 사용하십시오.
다음 중 하나를 사용하십시오.
ps -ef | egrep "string1|string2" | egrep -v "${variable}|string4|string5"
또는
ps -ef | egrep "string1|string2" | grep -Ev "${variable}|string4|string5"
variable
... 두 경우 모두 정규식 토큰(또는 해당 문제에 대한 다양한 문자열N)을 이스케이프 처리하는 데 주의하세요 .