2013-04-28 96 views
1

我有一个包含1,000个小文本文件的文件夹,我需要修改这些文件并在每个文件的开头添加7个零。当我这样做后,我将能够将它们全部放在一起。在终端中有没有简单的方法来做到这一点?如何将文本添加到文件夹中所有文件的开头?

+0

是[这](http://stackoverflow.com/questions/6329505/how-to-rename-all-file-in-a-folder-with-a-suffix-in-a-single -unix-command)你在找什么? – 2013-04-28 18:34:44

+0

@Snowsickle不,我不需要更改名称,只是内容。 – user2329778 2013-04-28 18:36:12

+0

该文件夹中是否有其他文件? – Beta 2013-04-28 18:38:05

回答

3

查找当前目录下的所有文件,并在使用sed文件的开头插入0000000

find . -maxdepth 1 -type f -exec sed -i.bk '1i \ 
0000000' {} \; 

这也将创造.bk文件目录中的每个文件。如果您对rm *.bk删除备份文件的结果感到满意。

+0

没有工作;给了'无效的命令代码'。 – user2329778 2013-04-28 18:42:57

+0

不是'-i',而是'-e'或者什么都没有(只是'sed'1 i'') – GoZoner 2013-04-28 18:45:52

+0

在Linux上测试不是Mac,编辑后让Mac友好。 @GoZoner no,'-i'。 – 2013-04-28 18:48:13

1

将其粘贴到.sh文件中并执行。把路径放到你的文件目录而不是例子。

#!/bin/bash 
FILES="./files/*" 

for f in $FILES 
do 
    echo '0000000' | cat - $f > temp && mv temp $f 
done 
相关问题