2013-03-20 89 views
0

我在一个特定的目录中有一个巨大的CSV文件列表。通过命令行批量编辑CSV文件?

我需要改变的领域A1上的所有CSV文件将这样的:电子邮件

有没有办法做到这一切在一个命令的所有文件?

或者,如果这是比较容易:我只需要Email是每个文件的第一行,所以如果有大规模地插入Email在每个会工作完美太文件的第一行的方式!

+0

什么操作系统?你介意使用Perl还是Python? – bwooceli 2013-03-20 01:06:15

+0

如果可能,Perl适用于我。 – syf101 2013-03-20 01:15:38

+0

等一下,是插入还是替换? – 2013-03-20 01:28:17

回答

0

这里的快速和肮脏的例子给你:

replace="Email" 
path="./" 
ext="csv" 

for f in $path*.$ext 
do 
    search=$(head -1 $f | awk '{print $1}') 
    echo Changing: "$f" 
    sed -i -e "s/$search/$replace/" "$f" && echo Done 
done