我想将五个文件的内容原样复制到一个文件中。我尝试对每个文件使用 cp 。但这会覆盖从前一个文件复制的内容。我也试过
paste -d "\n" 1.txt 0.txt
它没有用。
我希望我的脚本在每个文本文件的末尾添加换行符。
例如。文件 1.txt、2.txt、3.txt。将1,2,3的内容放入0.txt
我该怎么做 ?
原文由 Steam 发布,翻译遵循 CC BY-SA 4.0 许可协议
对于那些仍然像我一样偶然发现这篇文章的人来说,另一种选择是使用 find -exec
:
find . -type f -name '*.txt' -exec cat {} + >> output.file
就我而言,我需要一个更强大的选项来查看多个子目录,因此我选择使用 find
。分解它:
find .
查看当前工作目录。
-type f
只对文件感兴趣,而不是目录等。
-name '*.txt'
按名称减少结果集
-exec cat {} +
对每个结果执行 cat 命令。 “+”表示仅产生 1 个 cat
实例(谢谢@gniourf_gniourf)
>> output.file
如其他答案中所述,将 cat-ed 内容附加到输出文件的末尾。
原文由 mopo922 发布,翻译遵循 CC BY-SA 3.0 许可协议
7 回答5.3k 阅读
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
2 回答793 阅读✓ 已解决
2 回答3.2k 阅读
您需要
cat
(连接的缩写)命令,带有外壳重定向(>
)到您的输出文件