たとえば、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