如何在文件夹中所有文件的开头添加文本?

3

我有一个文件夹里面有1000个小文本文件,我需要修改这些文件并在每个文件的开头添加7个零。完成后,我将能够将它们全部合并。在终端中是否有一种简单的方法来实现这个操作?


这是你要找的吗?点击这里 - Alex Kalicki
@Snowsickle 不,我不需要改变名称,只需要更改内容。 - user2329778
那个文件夹里还有其他文件吗? - Beta
@Beta 我只需要编辑的文本文件,没有其他东西。 - user2329778
相关(甚至重复):http://askubuntu.com/questions/11031/通过终端将字符串添加到文本文件中 - Ionică Bizău
2个回答

6
在当前目录中查找所有文件,并使用sed在文件开头插入0000000:
find . -maxdepth 1 -type f -exec sed -i.bk '1i \
0000000' {} \;

这也会为目录中的每个文件创建一个.bk文件。如果结果令您满意,只需使用rm *.bk删除备份文件。


没有起作用;显示“无效的命令代码”。 - user2329778
不是-i,而是-e或者更好的什么都不加(只用sed '1 i' - GoZoner
在Linux上进行了测试,但对Mac进行了编辑以使其兼容。@GoZoner 不是-i,而是-i - Chris Seymour
1
无论如何将零与文本放在同一行上?抱歉,这个问题超出了我的能力范围 :) - user2329778

4
将此内容粘贴到.sh文件中并执行。将您的文件目录路径替换为示例路径。
#!/bin/bash
FILES="./files/*"

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接