![如何根据输入打印特定字段?](https://linux22.com/image/122417/%E5%A6%82%E4%BD%95%E6%A0%B9%E6%8D%AE%E8%BE%93%E5%85%A5%E6%89%93%E5%8D%B0%E7%89%B9%E5%AE%9A%E5%AD%97%E6%AE%B5%EF%BC%9F.png)
假设一个文本文件有两列,一列是葡萄酒名称,另一列是表示该酒有多少瓶的数字。
我想创建一个脚本,在执行时,用户输入一个数字 1-30,它将按字母顺序显示库存中剩余该数字的每种葡萄酒名称。
我怎样才能做到这一点?
答案1
如果您的字段是由空格定义的,您可以简单地执行以下操作:
awk '$2==30' file
这将打印file
第二个字段为 的所有行30
。如果您只想要第一个字段(名称),请使用:
awk '$2==30{print $1}' file
要按字母顺序获取它们,请通过排序传递输出:
awk '$2==30{print $1}' file | sort