在bash/osx终端中预置多个文件

DEf*_*ion 4 shell

我想在bash中将一些文本添加到多个文件中,我发现这个帖子处理prepend:prepend到一个文件一个衬里shell?

我可以使用find找到我需要处理的所有文件:

find ./ -name "somename.txt"
Run Code Online (Sandbox Code Playgroud)

但是如何使用管道将两者结合起来呢?

Cha*_*tin 9

你有几个选择.最简单的可能是sed:

find ./ -name somename.txt -exec sed -e '1i
My new text here' {} \;
Run Code Online (Sandbox Code Playgroud)

如果你添加'2q'告诉它你在预先准备好文本后就完成了会更快,如果你的文件中有-i标志就会发生这种情况会更快

find ./ -name somename.txt -exec sed -i .bak -e '2q;1i
My new text here' {} \;
Run Code Online (Sandbox Code Playgroud)

这使得原始文件带有.bak扩展名.