最初のフィールドがLinux1で始まる場合、行を印刷する方法
たとえば、
echo Linux1_ver2 12542 kernel-update | awk '{if ($1 ~ Linux1 ) print $0;}'
目標は、最初のフィールドがLinux1で始まる間に行を印刷することです。
行の例:
Linux1-new 36352 Version:true
Linux1-1625543 9847
Linux1:16254 8467563
注 - スペースまたはTABが最初のコミットの前に来ることができます。
ベストアンサー1
awkはフィールドを割り当てるときの先行スペースを無視します。デフォルトのコマンドは印刷です。
awk '$1 ~ /^Linux1/'
あなたが望むもの。
上海:
- $ 1はawkに最初の「列」を表示するように指示します。
- ~ は awk に正規表現マッチングを実行するよう指示します。 /..../ は正規表現です。
- REにはLinux文字列と特殊文字^が含まれています。
- ^を使用すると、REは最初から一致します(行のどの位置でも一致するのではなく)。
一緒に見てみましょう。 awkは、最初の列の先頭に「Linux」がある正規表現と一致します。