grep을 사용하여 키워드 뒤에 모든 것을 인쇄하려하지만 명령이 전체 행을 반환합니다. 다음 사용하여 임 :grep 정규 표현식이 전체 행을 반환합니다.
grep -P (\skeyword\s)(.*)
예를 들어 라인은 다음과 같습니다
abcdefg keyword hello, how are you.
결과는 hello, how are you
해야하지만 대신 전체 라인을 제공합니다. 내가 여기서 뭔가 잘못하고있는거야?
grep을 사용하여 키워드 뒤에 모든 것을 인쇄하려하지만 명령이 전체 행을 반환합니다. 다음 사용하여 임 :grep 정규 표현식이 전체 행을 반환합니다.
grep -P (\skeyword\s)(.*)
예를 들어 라인은 다음과 같습니다
abcdefg keyword hello, how are you.
결과는 hello, how are you
해야하지만 대신 전체 라인을 제공합니다. 내가 여기서 뭔가 잘못하고있는거야?
당신은 사용할 필요가 -o
(만 일치) 매개 변수와 \K
(폐기 이전에 일치하는 문자) 또는 양 lookbehind을.
grep -oP '\skeyword\s+\K.*' file
\K
은 전체 정규식 매치에서 지금까지 일치하는 텍스트를 유지합니다. \s+
은 하나 이상의 공백 문자와 일치합니다.
예 :
$ echo 'abcdefg keyword hello, how are you.' | grep -oP '\skeyword\s+\K.*'
hello, how are you.
기본적으로 Grep은 일치하는 행을 인쇄합니다. 일치하는 표현식 만 인쇄하려면 '-o'옵션을 사용하십시오.