我有4列的CSV文件。例如
1132,John Doe,[email protected],3534534543
53213,John Doe,[email protected],51352363126
我想为每个值添加双引号,因此我在MAC上使用此脚本:
sed 's/[^,]*/"&"/g' file.csv > file2.csv
我收到
"1132","John Doe","[email protected]","3534534543
"
"53213","John Doe","[email protected]","51352363126
"
因此,我在新行上得到了最后的引号,我很可能应该以某种方式删除/ r / n,但是我尝试不了。有任何想法吗?如果我手动填写值,则收到的文件会发生这种情况,它可以按预期工作。
您可以尝试以下吗?
awk 'BEGIN{FS=",";RS="\r\n";s1="\"";OFS="\",\""} {$1=$1;$0=s1 $0 s1} 1' Input_file
如果您想留空行,请尝试以下操作。
awk 'BEGIN{FS=",";RS="\r\n";s1="\"";OFS="\",\""} NF{$1=$1;$0=s1 $0 s1} 1' Input_file
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句