私のファイルには次のような行がたくさんあります。
word_word_word 0 word_word
word_word_word 1 wordwordword
word word word word 0 word word word word
word 2 word_word_word word word
word word_word 3 word
このファイルをキャプチャして次のような出力を取得したいと思います。
word_word_word 0
word_word_word 1
etc...
/awk/または他の行を切り取り、最初のバイトから最初の1桁まですべてを表示するにはどうすればよいですか?
ありがとうございます!
ベストアンサー1
grepを使用してください:
grep -oP '^.*?\s[0-9](\s|$)' file
この-o
オプションは、grepに一致するものだけを印刷するように指示します。
パターンは以下を探しています。
- 行の始まり
^
- 以下は重複コンテンツです(欲はありません)。
.*?
- その後にスペースがあります
\s
- その後、0から9の間の単一の数字が続きます。
[0-9]
- 最後に、単一の数字の後にスペースまたは行末が続く必要があります。
(\s|$)