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

比较Linux中的两个文件:忽略第一行和最后一行,linux,comparison,diff,Linux,Comparison,Diff,我想比较两个文件,但我不想考虑两个文件的前10行和最后3行。我试着用diff和tail命令来做,就像在中一样,但没有成功。 我怎么做呢?使用GNUtail和head: 要忽略文件的前10行,请使用如下方式使用tail: tail -n +11 file head -n -4 file 要忽略文件的最后3行,请像这样使用head: tail -n +11 file head -n -4 file 然后,您可以使用以下方法构造diff命令: diff <(tail -n +11 fil

我想比较两个文件,但我不想考虑两个文件的前10行和最后3行。我试着用diff和tail命令来做,就像在中一样,但没有成功。
我怎么做呢?

使用GNU
tail
head

要忽略文件的前10行,请使用如下方式使用
tail

tail -n +11 file
head -n -4 file
要忽略文件的最后3行,请像这样使用
head

tail -n +11 file
head -n -4 file
然后,您可以使用以下方法构造
diff
命令:

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

diff-Head不总是有效的,您可能需要使用sed-one-liner:
sed'1,11 d'
如果目录中有多个文件,您将如何做到这一点?