スペースで区切られた複数の単語を印刷します。

スペースで区切られた複数の単語を印刷します。

次のデータ型(名前、年齢、国)のテキストファイルがあります。

michael jordans 25 US
adam smith 30 UK
chris wood ABC 22 Aus

cat text.txt | awk {'print $1'}-->コマンドを使用すると、次のものが印刷されます。

michael
adam
chris

しかし、フルネームを印刷したいです。

michael jordans
adam smith
chris wood ABC

どのコマンドを使用する必要がありますか?

フォーマットデータを変更できます。たとえば、次のようになります。

michael jordans|25|US
adam smith|30|UK
chris wood ABC|22|Aus

ベストアンサー1

sed 's/^\([^0-9]*\).*/\1/' text.tex

これは、名前に数字が含まれておらず、名前の後のフィールドが数字で始まると仮定します。

|フィールドを次のように区切るとき

sed 's/^\([^|]*\).*/\1/' text.tex

またはawkを好むなら、これを行うことができます

awk -F\| '{print $1}' text.tex

おすすめ記事