比较bash中两个文件的头部

Mar*_*ger 12 shell bash diff head

我可以diff filea fileb看看文件之间的区别。我也head -1 filea可以查看filea 或fileb 的第一行。如何组合这些命令来显示 filea 的第一行和 fileb 的第一行之间的区别?

cuo*_*glm 23

如果您的 shell 支持进程替换,请尝试:

diff <(head -n 1 filea) <(head -n 1 fileb)
Run Code Online (Sandbox Code Playgroud)


Jam*_*ven 6

如果您只比较每个文件的第一行,也许您关心行内的字级变化,使用dwdiff

dwdiff <(head -n 1 filea) <(head -n 1 fileb)
Run Code Online (Sandbox Code Playgroud)

dwdiff有一些不错的选择,比如-c为改变的单词着色。

或者,使用sed代替头:

dwdiff <(sed 1q filea) <(sed 1q fileb)
Run Code Online (Sandbox Code Playgroud)

head手册建议比 head 更便携,因为 head 的语法随着时间的推移head -1而变化head -n 1

此外,您可以只关注更改,并减少输入:

head -n1 -q filea fileb
Run Code Online (Sandbox Code Playgroud)

它显示两条线,一条在另一条下方,以便于视觉比较。