各行の最初の項目だけを印刷する方法は?

各行の最初の項目だけを印刷する方法は?

次のファイルがあります。

asd 123 aaa wrqiqirw 123
123 itiewth 123 asno 123
123 132 123 123 123
boagii 123 asdnojaneoienton 123

予想される出力は次のとおりです。

123
123
123
123

正規表現でパターンを検索する必要があります。このようなことを達成する方法はありますか?

ベストアンサー1

そして、pcregrep次のようなパターンがあります12*3

pcregrep -o1 '(12*3).*'

使用pcregrepまたはGNU grep -P

grep -Po '^.*?\K12*3'

pcregrep文字よりも多くのバイトで動作しますが、GNU grepは現在のロケールで定義されている文字として機能します(そして入力に現在のロケールの有効なテキストが含まれていることを確認する必要があります))。

grepパターンが空の文字列と一致する場合、GNUは何も印刷しないことに注意してください。

おすすめ記事