Macos 如何将文本添加到文件夹中所有文件的开头?

Macos 如何将文本添加到文件夹中所有文件的开头?,macos,unix,terminal,Macos,Unix,Terminal,我有一个包含1000个小文本文件的文件夹,我需要修改这些文件,并在每个文件的开头添加7个零。在我这样做之后,我就可以把它们都放在一起了。在终端中是否有一种简单的方法来执行此操作?查找当前目录中的所有文件,并使用sed在文件开头插入0000000: find . -maxdepth 1 -type f -exec sed -i.bk '1i \ 0000000' {} \; 这还将为目录中的每个文件创建.bk文件。如果您对结果满意,只需rm*.bk删除备份文件即可 查找当前目录中的所有文件,并使

我有一个包含1000个小文本文件的文件夹,我需要修改这些文件,并在每个文件的开头添加7个零。在我这样做之后,我就可以把它们都放在一起了。在终端中是否有一种简单的方法来执行此操作?

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

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

这还将为目录中的每个文件创建
.bk
文件。如果您对结果满意,只需
rm*.bk
删除备份文件即可

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

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

这还将为目录中的每个文件创建
.bk
文件。如果您对结果满意,只需
rm*.bk
删除备份文件即可

将其粘贴到.sh文件中并执行。将路径放在文件目录而不是示例目录

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

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

将其粘贴到.sh文件中并执行。将路径放在文件目录而不是示例目录

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

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

是你要找的吗?@Snow镰刀不,我不需要更改名称,只需要更改内容。该文件夹中还有其他文件吗?@Beta除了需要编辑的文本文件外,没有其他文件。相关(甚至重复):是你要找的吗?@Snow镰刀不,我不需要更改名称,只有内容。该文件夹中还有其他文件吗?@Beta除了需要编辑的文本文件外,没有其他文件。相关(甚至重复):不起作用;给出了“无效的命令代码”。不是
-i
,而是
-e
,或者最好是什么都没有(只是
sed'1i'
)在Linux上测试,而不是在Mac上,经过编辑使Mac友好@GoZoner否,
-i
@sudo\u O要将零与文本放在同一行吗?对不起,我有点不知所措:)没用;给出了“无效的命令代码”。不是
-i
,而是
-e
,或者最好是什么都没有(只是
sed'1i'
)在Linux上测试,而不是在Mac上,经过编辑使Mac友好@GoZoner否,
-i
@sudo\u O要将零与文本放在同一行吗?对不起,这里有点过头了:)