在Linux中比较两个文件:忽略第一行和最后一行。

13

我想比较两个文件,但不想考虑两个文件的前10行和后3行。我尝试使用diff和tail命令,就像这里一样,但没有成功。

我该如何做?

1个回答

17

使用 GNU 的 tailhead

如果想要忽略文件的前十行,可以这样使用 tail 命令:

tail -n +11 file

要忽略文件的最后3行,可以使用以下命令:head

head -n -4 file

您可以使用进程替换构建diff命令,如下所示:

diff <(tail -n +11 file | head -n -4) <(tail -n +11 file2 | head -n -4)

1
标题不总是有效的,您可能想使用一个 sed 单行命令:sed '1,11 d' - MUY Belgium
你如何处理一个包含多个文件的目录? - Ri1a

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接