如何移动文件的最后N行



我有一个简单的文本文件,名为samples.log。在这个文件里我有几行。假设我总共有10行。我的目的是用同一文件的最后一行替换文件的前5行。例如:

line 1
line 2
line 3
line 4
line 5
line 6
line 7
line 8
line 9
line 10

成为:

line 6
line 7
line 8
line 9
line 10

换句话说,我只想删除文件的前5行,然后向上移动最后5行。我正在研究Linux。最简单的方法是什么?有命令吗?我正在开发一个C程序,但我认为最好在程序中执行linux命令,而不是在C中执行这个操作,我认为这会很困难。

简单

tail -n +6 samples.log

将完成这项工作。tail -n +NUM file将从NUM行开始打印file

您可以使用以下命令:

tail -n $(($(cat samples.log | wc -l) - 5)) samples.log

您计算的行总数:

cat samples.log | wc -l

从中减去5:

$((x - 5))

你使用最后一行:

tail -n x samples.log

相关内容

  • 没有找到相关文章

最新更新