sed、cut、または awk を使用して各行の最初の単語だけを保持するにはどうすればよいですか?

sed、cut、または awk を使用して各行の最初の単語だけを保持するにはどうすればよいですか?

次の形式の大きなリストがあります。

info1 info2 info3 info4

各行には、次の4つのフィールドがあります。正規表現を使用して各行の最初の単語を除くすべての単語を削除するには?

ベストアンサー1

単語がスペースで区切られていると仮定すると、スペースで区切られた最初の単語のみを抽出するために正規表現を使用する必要はありません。代わりにcutスペースを区切り文字として使用してください。

cut -d ' ' -f 1 file

awkデフォルトでは、連続するスペースまたはタブをフィールド区切り文字として使用するを使用して、各行の最初のフィールドのみを印刷することもできます。これは正規表現を使用する必要がない別のケースです。

awk '{ print $1 }' file

-F ' '単一のスペースのみの区切り文字として使用するには、上記と一緒に使用してください。

もしあなたが本当に必要正規表現(例:教師を幸せにするため)を使用してから、置換コマンドを使用しますsed

sed 's/ .*//' file

このコマンドは、最初の空白文字から各行の終わりまでのすべての項目を削除(置換しない)します。

おすすめ記事