此问题已在此处有答案:
Delete a column from a delimited file in linux(7个回答)
14天前关闭
我想从csv文件中删除第三列
input.csv
col1|col2|col3|col4
aaa1|aaa2|aaa|aaa3|aaa4
bbb1|bbb2|bbb|bbb3|bbb4
ccc1|ccc2|ccc|ccc3|ccc4
我只想删除第三列的内容,而不删除标题。
output.csv
col1|col2|col3|col4
aaa1|aaa2|aaa3|aaa4
bbb1|bbb2|bbb3|bbb4
ccc1|ccc2|ccc3|ccc4
我已经尝试了下面的解决方案,但它不起作用。awk 'BEGIN{FS="\t";OFS="\t"}NR==1{print}NR>1{$1=""; print substr($0,2)}' input.csv > output.csv
2条答案
按热度按时间fhg3lkii1#
像这样的东西
在一个文件情况下,可以就地完成
lyr7nygr2#
使用GNUawk和
|
作为字段分隔符:输出:
参见:8 Powerful Awk Built-in Variables – FS, OFS, RS, ORS, NR, NF, FILENAME, FNR