我在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获取日期和文件名的信息。并分配给这个命令?或者还有其他方法吗?
答案 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