如何使用某些Linux命令复制巨型文件的前几行并在其末尾添加一行文本?
答案 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)