如何复制巨型文件的前几行,并使用一些Linux命令在其末尾添加一行文本?

时间:2009-08-25 02:03:30

标签: linux

如何使用某些Linux命令复制巨型文件的前几行并在其末尾添加一行文本?

3 个答案:

答案 0 :(得分:124)

head命令可以获得第一行n行。变化是:

head -7 file
head -n 7 file
head -7l file

将获取名为"file"的文件的前7行。要使用的命令取决于您的head版本。 Linux将与第一个一起工作。

要将行附加到同一文件的末尾,请使用:

echo 'first line to add' >>file
echo 'second line to add' >>file
echo 'third line to add' >>file

或:

echo 'first line to add
second line to add
third line to add' >>file

一次性完成。

所以,将这两个想法结合在一起,如果你想将input.txt文件的前10行添加到output.txt并添加一行包含5个"="字符,你可以使用类似的东西:

( head -10 input.txt ; echo '=====' ) > output.txt

在这种情况下,我们在子shell中执行这两个操作,以便将输出流合并为一个,然后用于创建或覆盖输出文件。

答案 1 :(得分:16)

我假设你想要实现的是在文本文件的前几行之后插入一行。

head -n10 file.txt >> newfile.txt
echo "your line >> newfile.txt
tail -n +10 file.txt >> newfile.txt

如果你不想从文件中留下其余部分,只需跳过尾部。

答案 2 :(得分:3)

前几行:man head

追加行:在Bash中使用>>运算符(?):

echo 'This goes at the end of the file' >> file