为什么这个awk命令不起作用

时间:2012-11-26 21:58:51

标签: linux bash shell unix awk

所以问题是:

使用awk显示文件中仅显示数量和产品名称的所有行。产品名称是第一个字段,数量是第二个字段。数据文件是“库存”

库存内容:

Strawberry Jam,300,4

Raspberry Jam,1216,7

Blueberry Jam,96,195

Strawberry Compote,49,621

Raspberry Compote,1937,624

Blueberry Compote,200,625

Frozen Strawberries,130,1941

Straw Hats,16,2047

我的命令是

awk '$2 $1' inventory

这应该正常吗?我也尝试了

awk '{print $2 $1}' inventory
awk '$2, $1' inventory

并且有很多变化,但都没有效果!任何人都可以帮忙找出原因吗?

2 个答案:

答案 0 :(得分:1)

这是csv (以逗号分隔的值)文件,因此需要使用field separator选项将,指定为-F

$ awk -F, '{print $2,$1}' inventory

300 Strawberry Jam
1216 Raspberry Jam
96 Blueberry Jam
49 Strawberry Compote
1937 Raspberry Compote
200 Blueberry Compote
130 Frozen Strawberries
16 Straw Hats

答案 1 :(得分:0)

我们走了:

awk 'BEGIN{FS=OFS=","} {print $2, $1}' inventory