grep을 사용하여 문자열에서 입력을 찾을 수 없습니다.

grep을 사용하여 문자열에서 입력을 찾을 수 없습니다.

해당 줄에서 입력을 찾으려는 문자열이 쉼표로 구분되어 있습니다.

echo US | grep "US,CA,CH,JP"

출력이 비어 있습니다! 해당 문자열에서 입력을 찾으려면 grep을 어떻게 사용해야 합니까?

답변1

명령의 인수를 바꿉니다.

echo "US,CA,CH,JP" | grep US

안에:

echo US | grep "US,CA,CH,JP"

US,CA,CH,JP입력 문자열에서 US예상과 일치하지 않는 문자열(패턴)을 찾고 있습니다 .

답변2

쉼표가 "or" 문처럼 작동할 것으로 기대하지 않는 한, 이 경우 쉼표를 파이프로 변경하고 -Efor 옵션을 사용하면 됩니다.펼친정규 표현식:

echo US | grep -E "US|CA|CH|JP"

또는 쉼표를 개행 문자로 변경합니다.

echo US | grep "US
CA
CH
JP"

답변3

나는 사용할 것이다$echo US | grep -i "US|CA|JP|CH"

에코 대신 "미국"에서 패턴을 찾는 대신 실제로 가서 패턴을 찾을 수 있는 목록 등을 제공하세요.

관련 정보