如何将一个文件连接到不同目录中的文件列表?

时间:2015-02-26 00:11:10

标签: bash find cat

我正在使用bash工作,我试图将一个文本文件放在不同目录中每个文件的末尾,我有类似

的内容
BaseFile
/Dir1/File1
/Dir2/File2
/DirN/FileN

我想将BaseFile的文本放在每个File1,File2,...,FileN的末尾,覆盖它们。我尝试过find,cat和grep,但无法获得我想要的结果。提前谢谢!

2 个答案:

答案 0 :(得分:1)

这可能不是最优雅的,但会将BaseFile的内容附加到名称以“File”开头的任何文件中:

找到。 -type f -name“File *” - exec cat BaseFile>> “{}”\;

编辑:

正如gniourf_gniourf指出的那样我错了。他们下面的评论是我的目标,但失败了

find . -type f -name "File*" -exec sh -c 'cat BaseFile >> "$0"' "{}" \;

答案 1 :(得分:1)

你也可以使用循环:
for x in /Dir*/FILE* ; do cat BaseFile >> "$x" ; done