![入力に応じて特定のフィールドを印刷するにはどうすればよいですか?](https://rvso.com/image/122417/%E5%85%A5%E5%8A%9B%E3%81%AB%E5%BF%9C%E3%81%98%E3%81%A6%E7%89%B9%E5%AE%9A%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%82%92%E5%8D%B0%E5%88%B7%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
テキスト ファイルに 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