我在 stackexchange 上找到了关于如何删除逗号分隔的 csv 文件的引号之间的逗号的答案(无法在那里发表评论,因为我没有所需的代表)。
awk -F'"' -v OFS='' '{ for (i=2; i<=NF; i+=2) gsub(",", "", $i) } 1' infile
如何将输出重定向到文件而不是将其打印到控制台?
我尝试了使用“>”的各种组合,但这只给了我空文件或错误。 “>>”每次都给我一个错误。
答案1
使用标准重定向将在标准输出上工作:
$ awk -F'"' -v OFS='' '{ for (i=2; i<=NF; i+=2) gsub(",", "", $i) } 1' infile > test.out
$
这仍然会将错误打印到屏幕上。
但是,如果您希望错误和标准输出进入文件,请运行:
$ awk -F'"' -v OFS='' '{ for (i=2; i<=NF; i+=2) gsub(",", "", $i) } 1' infile 2>&1 > test.out
$
或者您可以将错误与标准输出分开:
awk -F'"' -v OFS='' '{ for (i=2; i<=NF; i+=2) gsub(",", "", $i) } 1' infile 2> errors.out 1 > test.out