入力に応じて特定のフィールドを印刷するにはどうすればよいですか?

入力に応じて特定のフィールドを印刷するにはどうすればよいですか?

テキスト ファイルに 2 つの列があり、1 つはワイン名、もう 1 つはボトルの数を表す数字であるとします。

実行すると、ユーザーが 1 ~ 30 の数字を入力すると、その数の在庫が残っているすべてのワインの名前がアルファベット順に表示されるスクリプトを作成したいと考えています。

どうやってやるの?

答え1

フィールドが空白で定義されている場合は、次のように簡単に実行できます。

awk '$2==30' file

fileこれにより、2 番目のフィールドが であるすべての行が出力されます30。最初のフィールド (名前) だけが必要な場合は、次のようにします。

awk '$2==30{print $1}' file

アルファベット順に取得するには、出力を sort に渡します。

awk '$2==30{print $1}' file | sort

関連情報