9

我知道

cat file1 >> file2 

会将 file1 的内容附加到 file2 的末尾。另一方面,如何将 file1 的内容附加到文件 2 的开头,而不是结尾?

实际上,我有一个主文件 M,目录 D 中有几个其他文件。我想将文件 M 的内容附加到目录 D 中所有文件的开头。

4

3 回答 3

9

对于您可以执行的每个文件:

cat MASTER file >> file.tmp

然后将 file.tmp 移到文件上。

于 2013-01-08T09:10:17.310 回答
9

做就是了:

cat file1 file2 > tmp && mv tmp file2
于 2013-01-08T09:12:08.433 回答
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
于 2013-01-08T09:23:56.053 回答