【发布时间】:2015-10-28 02:08:16
【问题描述】:
有时我必须在一堆文件的末尾附加一些文本。我通常会使用find 找到这些文件。
我试过了
find . -type f -name "test" -exec tail -n 2 /source.txt >> {} \;
然而,这会导致将最后两行从 /source.txt 写入名为 {} 的文件中,但是多次找到与搜索条件匹配的文件。
我想我必须以某种方式逃离>>,但到目前为止我还没有成功。
任何帮助将不胜感激。
【问题讨论】:
-
-exec bash -c 'tail -n 2 /source.txt >> "$1"' bash {} \;。另外,我还没有对其进行测试,但是将tail -n 2的输出存储在某个环境变量中,如果您担心性能,编写它可能会更快(也可以使用+和tee变体) -
我只是通过管道输入 xargs
-
这不起作用的原因与this 相同,但不确定这是否被视为重复,因此将我的评论切换为答案。