ファイルから特定の単語を抽出する方法

ファイルから特定の単語を抽出する方法

たとえば、myfile.logという名前の次のファイルがある場合

1  entry1      # Blah blah 
2  entry2      # Blah blah
3  entry3      # Blah blah
4  entry4      # Blah blah
5  myentry5      # Blah blah
6  myentry6      # Blah blah
7  yourentry7      # Blah blah
8  yourentry8      # Blah blah
9  ourentry9      # Blah blah
10 ourentry10      # Blah blah

出力が次のように「entry」を含む単語だけを抽出するにはどうすればよいですか?

entry1
entry2
entry3
entry4
myentry5
myentry6
yourentry7
yourentry8
ourentry9
ourentry10

私はさまざまなgrep、sed、awkコマンドを試しましたが、欲しいものだけを得ました。行のすべてを出力するか、アイテムにすべてを含めるのではなく、アイテムだけを話すように見えます。

編集 - ファイルは実際には次のようになります(クリーンアップ)。すべての項目を抽出するには、RTRを使用する必要があります。

10.0.0.1     MYRTR001      # Router in Raleigh
10.0.0.2     MYSW100      # Switch in Raleigh
10.0.0.3     MYRTR002      # Router in Houston
10.0.0.4     MYSW001      # Switch in Houton

ベストアンサー1

使用sed

$ sed '/entry/s/[^ ]* *\([^ ]*\).*/\1/' input_file
entry1
entry2
entry3
entry4
myentry5
myentry6
yourentry7
yourentry8
ourentry9
ourentry10

使用awk

awk '/entry/{print $2}' input_file
entry1
entry2
entry3
entry4
myentry5
myentry6
yourentry7
yourentry8
ourentry9
ourentry10

おすすめ記事