在csv中的特定列中填充值

时间:2019-06-12 04:18:41

标签: shell unix awk scripting

我有一个文件夹,其中有50个CSV格式的Excel工作表。我必须在该文件夹中所有工作表的第一列中填充一个特定的值,例如“ XYZ”。

我是unix的新手,并且已经找了几页HereHere。谁能给我提供示例脚本的开始吗?

例如: 在这种情况下,我们假设列C:

A             B        C
ASFD         2535
BDFG         64486
DFGC         336846   

我想将C列更新为值“ XYZ”。

谢谢。

1 个答案:

答案 0 :(得分:1)

我会将这些文件导出为csv格式  -使用分号作为字段分隔符  -最终省去了列说明(否则请参见下面的评论)

然后,下面的SHELL和SED脚本组合可以或多或少地完成了窍门

#! /bin/sh

for i in *.csv
do
        sed -i -e "s/$/;XZY/" $i
done
  • -i表示就地编辑文件,这里您可以将值附加到所有行
  • -e指定替换的正则表达式

您可能要使用类似的脚本,如果csv文件中还应包含列说明,则只能在第一行将“ XYZ”重命名为“ C”。