awk+ 最初のフィールドが文字列で始まる場合にのみ行を印刷します (例: Linux1)。

awk+ 最初のフィールドが文字列で始まる場合にのみ行を印刷します (例: Linux1)。

最初のフィールドが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」がある正規表現と一致します。

おすすめ記事