2014-10-17 6 views
-1

grep/sed/awk/etc를 사용하여 일치하는 패턴의 단어를 Linux의 파일에서 인쇄하려고합니다. grep/sed/awk all prints 행을 확인했는데 파일의 단어 만 원합니다.패턴이 일치하는 단어 인쇄

예 : 방법이 있나요

[email protected]:~]#cat test.txt 
Notification are enabled Notification:445 Mode: valid Bookmark are enabled Bookmarks:556 Mode: Invalid Question are enabled Question:667 Mode: Unknown 

가 그럼 난 패턴 매칭 * 기

Notification 
Notification 
Question 
Question 

만 단어를 인쇄 할 :

나는 다음과 같은 내용으로 파일 TEST.TXT가 명령 줄에서이 작업을 수행 하시겠습니까?

답변

3

당신은 GNU 그렙 (grep)로 시도 할 수 있습니다 :

grep -oE "\w*tion" test.txt 

출력 :

Notification 
Notification 
Question 
Question 
+0

는'그렙 -o'을 몰랐다. 고맙습니다. – gboffi

1

당신이 awk 명령을 사용할 수 있습니다

awk -F '[: ]' 'index($1, "tion") {print $1}' test.txt 
Notification 
Notification 
Question 
Question 
+0

입력 파일은 한 줄입니다. – gboffi

+0

답변을 제출 한 후 OP에서 입력 파일 형식을 변경했습니다. 나는 첫 번째 테스트를 거치지 않고 이러한 답변을 게시하지 않습니다. – anubhava

+0

확인. 전체 이야기를 들려주기 위해 내 의견을 게시하는 동안 나는 의아해했다. 내 나쁜 점은 OP로 편집을 확인하지 않았다. – gboffi