问题描述
我已经下载了以下CSV文件:https://www.nhsbsa.nhs.uk/sites/default/files/2020-05/Dispensing%20Data%20Jan%2020%20-%20CSV.csv
,并尝试在每行的末尾添加一列,其值为“ null”。
我尝试使用此awk
命令:
awk 'BEGIN{FS=OFS=","}{print $0 OFS "null"}' ogfile.csv > newfile.csv
但它似乎是在每行之后添加一个新行,第二列的字段为“ null”
new rows instead of new column
有人可以帮助我了解为什么会这样吗?
解决方法
您的源文件具有DOS / Windows行尾。当看到异常输出时,这是检查的好项目。两种解决方案:
- 使用
dos2unix
之类的实用程序从输入文件中删除不需要的\r
字符。dos2unix
适用于大多数发行版。
或
-
修改您的awk命令以识别并删除有问题的字符:
awk 'BEGIN{RS="\r\n"; FS=OFS=","}{print $0 OFS "null"}' ogfile.csv