我知道
cat file1 >> file2
会在file2的末尾附加file1的内容。另一方面,如何在文件2的开头附加file1的内容,而不是在结尾?
实际上,我有一个主文件M,以及目录D中的其他几个文件。我想在目录D的所有文件的开头附加文件M的内容。
答案 0 :(得分:9)
对于您可以执行的每个文件:
cat MASTER file >> file.tmp
然后将file.tmp移到文件上。
答案 1 :(得分:8)
只是做:
cat file1 file2 > tmp && mv tmp file2
答案 2 :(得分:3)
您必须使用临时文件并在合并后重命名。
示例:
echo -e "a\nb\nc" > LETTERS
echo -e "1\n2\n3" > NUMBERS
cat NUMBERS LETTERS > TMP
mv TMP LETTERS
cat LETTERS
您的命令可能类似于:
for file in $( find -name "*.java" ); do cat PREPEND ${file} > ${file}.tmp; mv ${file}.tmp ${file}; done