
次の形式の大きなリストがあります。
info1 info2 info3 info4
各行には、次の4つのフィールドがあります。正規表現を使用して各行の最初の単語を除くすべての単語を削除するには?
答え1
単語がスペースで区切られていると仮定すると、スペースで区切られた最初の単語のみを抽出するために正規表現を使用する必要はありません。代わりにcut
スペースを区切り文字として使用してください。
cut -d ' ' -f 1 file
awk
デフォルトでは、連続するスペースまたはタブをフィールド区切り文字として使用するを使用して、各行の最初のフィールドのみを印刷することもできます。これは正規表現を使用する必要がない別のケースです。
awk '{ print $1 }' file
-F ' '
単一のスペースのみの区切り文字として使用するには、上記と一緒に使用してください。
もしあなたが本当に必要正規表現(例:教師を幸せにするため)を使用してから、置換コマンドを使用しますsed
。
sed 's/ .*//' file
このコマンドは、最初の空白文字から各行の終わりまでのすべての項目を削除(置換しない)します。