这是一个csv文件items.txt
item-number,item-description,item-category,cost,quantity-available
我尝试使用
,
将字段分隔符从\n
更改为awk
,我需要一种简单的方法来实现。1)此命令不起作用
awk -F, 'BEGIN{OFS="\n"} {print}' items.txt
2)此命令有效,但我需要处理的实际csv有15+列,我不想提供所有列变量
awk -F, 'BEGIN{OFS="\n"} {print $1,$2}' items.txt
提前致谢。
最佳答案
你近了将OFS
设置为换行符后,您将需要重新构造字段以将它们分隔为换行符。$1=$1
重新计算字段,并用OFS
分隔它们,默认情况下为空格。由于我们将OFS
设置为RS
(默认情况下为新行),因此您将获得所需的输出。
语句末尾的1
是惯用语。
$ awk 'BEGIN{FS=",";OFS=RS}{$1=$1}1' file
item-number
item-description
item-category
cost
quantity-available