使用特殊参数通过AWK在UNIX中的csv文件中添加列

时间:2015-09-22 10:19:47

标签: unix awk

我在UNIX环境中有一个文件列表:

我想在每个文件中为所有行添加两列。

假设我有7个csv文件(可能更多或更少)

每个文件包含以下命名法:

123;Peter;loaisa;45678998;
145;Jhon;Stugard;654123;

我想添加这样的信息:

123;Peter;loaisa;45678998;09/12/2105;filename.csv
145;Jhon;Stugard;654123;09/12/2105;filename.csv

其中值" 09/12 / 2105"是具有此格式的系统的日期,以及值" filename.csv"是文件的名称。

要使用下面的nex命令在每个文件中添加这些列:

sed -i "s|$|;09/12/2015;ta_55eed97631073.csv|" ta_55eed97631073.csv

但我需要为我文件夹中的每个文件执行上一个命令,有时会有很多文件。

可以修改此命令以从O.S获取日期和文件名的信息。并分配给这个命令?或者还有其他方法吗?

2 个答案:

答案 0 :(得分:1)

for f in * ; do sed -i "s|$|;"$(date +%m/%d/%Y)";$f|" $f ; done

答案 1 :(得分:0)

要求救援!

awk -vOFS=";" '{print $0,strftime("%m/%d/%Y"),FILENAME}' *.csv