我正在使用bash工作,我试图将一个文本文件放在不同目录中每个文件的末尾,我有类似
的内容BaseFile
/Dir1/File1
/Dir2/File2
/DirN/FileN
我想将BaseFile的文本放在每个File1,File2,...,FileN的末尾,覆盖它们。我尝试过find,cat和grep,但无法获得我想要的结果。提前谢谢!
答案 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