일치하는 패턴을 따르는 줄 부분만 반환

일치하는 패턴을 따르는 줄 부분만 반환

줄 시작 부분에 file_name문자열이 한 번만 포함된 파일()이 있습니다. 공백이 나타날 때까지 Result:줄의 문자열 뒤에 오는 모든 문자를 인쇄하고 싶습니다 . Result:어떤 쉘 명령을 사용해야 합니까?

grep "Result: " file_name | tail -c +9 

작동하지 않습니다.

답변1

가장 쉬운 방법은 을 사용하는 것입니다 awk.

awk '/^Result: / {print $2}' file_name

Result:기본 $IFS에 정의된 대로 공백인 파일의 두 번째 필드를 인쇄하고 시작하는 줄을 일치시킵니다 .

답변2

당신이 원하는 것은 다음과 같습니다

sed -ne 's/^Result: \([^ ]*\).*/\1/p' file_name

"Result:"가 포함된 행과 일치하고 첫 번째 행을 인쇄합니다.단어그 후에. 다른 줄은 표시되지 않습니다.

답변3

tillblank=$(egrep -o "^Result: [^ ]* " file)
echo ${tillblank/*:/}

egrep -o는 검색한 패턴만 출력합니다. 다음 줄은 콜론 앞의 모든 내용을 삭제합니다.

관련 정보