정규식을 사용하여 쉘 스크립트에서 값을 얻는 방법은 무엇입니까?

정규식을 사용하여 쉘 스크립트에서 값을 얻는 방법은 무엇입니까?

문자열에서 값을 가져오려면 쉘 스크립트를 작성해야 합니다. 예를 들면 다음과 같습니다.

string="abcdef" pathName

grep정규식과 결합된 명령을 사용하여 "pathName"을 얻는 방법은 무엇입니까 ?

답변1

GNU grep에는 다음과 같은 --only-matching옵션이 있습니다:

echo 'string="abcdef" pathName' |grep --only-matching "pathName"

"경로 이름"이 출력됩니다.

필수 패턴에 대한 추가 정보로 업데이트되었습니다.

echo 'string="abcdef" pathName' |grep --only-matching "[[:graph:]]*$"

여기 [[:graph:]]있어캐릭터 클래스공백이 아닌 모든 문자는 *0개 이상의 선행 패턴을 나타내며 $줄의 끝을 나타냅니다.
따라서 이 패턴은 줄 끝에 있는 공백이 아닌 문자의 가장 긴 시퀀스와 일치합니다.

관련 정보