2013-07-19 2 views
1

아래 명령을 실행했는데 sample.txt 파일에 데이터를 저장했습니다. Awk를 사용하여 패턴 뒤에 단어 찾기

chkconfig --list | grep postfix > sample.txt 

지금이 파일은 아래의 출력을 포함
postfix   0:off 1:off 2:on 3:on 4:on 5:on 6:off 

가 지금은 2: 후 문자열을 추출해야합니다. 출력은 on

awk 또는 grep을 사용하여 찾을 수 있습니까?

chkconfig --list | awk '/postfix/{$0=substr($4,3)}1' 
+2

시도'.... | 그렙 -PO '(? <= 2 :) \ + 승': 전에'도 아마 공간 ' – Kent

+0

@Kent는'22 일치합니다 '2'는 –

+0

또는 임의의 비 숫자 문자로 충분합니다. – lindhe

답변

2

한 가지 방법 추출 임시 파일 유일한 목적은 경우 임시 파일 생성을 우회 awk와 grep. AWK를 수행하면 작업을 수행합니다

chkconfig --list | awk -F '[: ]+' '$1 == "postfix" {print $7}' 
1

AWK가 작업을 수행 할 수 있습니다 : 또한

awk -F '[: ]+' '{print $7}' 

당신은 필요 없어

+0

의견을 보내 주셔서 감사합니다. – Dilip

+0

빠른 답장을 보내 주셔서 감사합니다. 그러나 여전히 나는 결과를 얻을 수 없었다. 내 요구 사항은 "sample.txt"파일에 출력했습니다. 나는 "on"인 "2 :"의 상태를 grep하고 싶다. 이 문제에 대한 해결책을 제공해 주시겠습니까? – Dilip

+0

위의 awk 명령은'2 :'옆에'on'을 출력합니다. 같은 결과물을 얻지 못하고 있습니까? – anubhava

관련 문제