Bash

比較bash中兩個文件的頭

  • April 24, 2015

我可以diff filea fileb看到文件之間的區別。我也可以head -1 filea看filea或fileb的第一行。如何結合這些命令來顯示 filea 的第一行和 fileb 的第一行之間的區別?

如果您的 shell 支持程序替換,請嘗試:

diff <(head -n 1 filea) <(head -n 1 fileb)

如果您只比較每個文件的第一行,也許您關心行內的字級更改,使用dwdiff

dwdiff <(head -n 1 filea) <(head -n 1 fileb)

dwdiff有一些不錯的選擇,比如-c給改變的單詞上色。

或者,使用sed而不是 head:

dwdiff <(sed 1q filea) <(sed 1q fileb)

head的手冊建議比 head 更便攜,因為 head 的語法隨著時間的推移head -1而變化head -n 1

此外,您可以只關注更改,而輸入更少:

head -n1 -q filea fileb

它顯示兩條線,一條在另一條下方,以便於視覺比較。

引用自:https://unix.stackexchange.com/questions/198138