我可以diff filea fileb
看到文件之间的差异。我还可以head -1 filea
查看 filea 或 fileb 的第一行。如何组合这些命令来显示 filea 的第一行和 fileb 的第一行之间的差异?
答案1
如果你的 shell 支持流程替代, 尝试:
diff <(head -n 1 filea) <(head -n 1 fileb)
答案2
如果您仅比较每个文件的第一行,也许您关心该行内的字级更改,使用dwdiff
:
dwdiff <(head -n 1 filea) <(head -n 1 fileb)
dwdiff
有一些不错的选项,比如-c
为更改后的单词着色。
或者,使用sed
代替 head:
dwdiff <(sed 1q filea) <(sed 1q fileb)
其中头部使用手册suggest 比 head 更可移植,因为 head 的语法随着时间的推移而head -1
变化head -n 1
另外,您只需少量输入即可查看更改:
head -n1 -q filea fileb
它显示两条线,一根在另一根下方,以便于视觉比较。
答案3
您可以使用:
if [ "`head -1 file1`" == "`head -1 file2`" ]; then echo "the same"; fi