【发布时间】:2016-09-29 00:02:52
【问题描述】:
我有一个包含几列的.csv。其中一列需要在 ~1000 个文件中更新为相同的数字。我正在尝试使用 AWK 编辑每个文件,但没有得到预期的结果。
原来的
.csv是什么样子的
heading_1,heading_2,heading_3,heading_4
a,b,c,1
d,e,f,1
g,h,i,1
j,k,m,1
我正在尝试将第 4 列从 1 更新为 15。
awk '$4="15"' FS=, OFS=, file > update.csv
当我在 excel 中生成的 .csv 上运行它时,结果是第一行之后的换行符 ^M (它更新为 15)然后它终止并且不更新任何其他列。
遍历目录中的所有文件时,每个文件都会重复相同的错误。
for file in *.csv; do awk '$4="15"' FS=, OFS=, $file > $file"_updated>csv"; done
或者,如果有人有更好的方法来完成这项任务,我愿意接受建议。
【问题讨论】:
-
你是在 Unix、Windows、...上运行这个吗?