溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux基礎(chǔ)命令diffstat的用法

發(fā)布時(shí)間:2021-08-30 21:27:34 來(lái)源:億速云 閱讀:132 作者:chen 欄目:建站服務(wù)器

本篇內(nèi)容介紹了“Linux基礎(chǔ)命令diffstat的用法”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

diffstat

這個(gè)程序讀取diff的輸出,并顯示每個(gè)文件的插入、刪除和修改的直方圖。Diffstat是一個(gè)用于檢查大型復(fù)雜修補(bǔ)程序文件的程序。它從包含diff輸出的一個(gè)或多個(gè)輸入文件中讀取,生成針對(duì)引用的每個(gè)文件更改的總行的直方圖。如果輸入文件名以.bz 2、.gz、.lzma、.z或.z結(jié)尾,Diffstat將通過(guò)管道從相應(yīng)的程序讀取未壓縮數(shù)據(jù)。它還可以根據(jù)標(biāo)準(zhǔn)輸入的管道文件推斷壓縮類型。

Diffstat識(shí)別來(lái)自diff的最流行的輸出類型:

unified,修補(bǔ)程序首選。

context,最好的可讀性,但不太緊湊。

default,不是很好,但很容易產(chǎn)生。

Diffstat檢測(cè)由diff輸出的行,以判斷比較了哪些文件,然后在第一列中計(jì)數(shù)表示更改類型(插入、刪除或修改)的標(biāo)記。這些在直方圖中顯示為“、”-“和”!“字符。如果命令行上沒(méi)有指定文件名,Diffstat將讀取標(biāo)準(zhǔn)輸入中的差異。

此命令的適用范圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、語(yǔ)法

diffstat [options]  [file-specifications]

 

2、選項(xiàng)列表

選項(xiàng)

說(shuō)明

-b

忽略diff中的“二進(jìn)制文件XXX和YYY不同”匹配的行

-c

在每一行輸出前加上“#”,使其成為shell腳本的注釋行。

-D destination

指定一個(gè)目錄,其中包含可作為應(yīng)用差異的結(jié)果而引用的文件。Diffstat將計(jì)算相應(yīng)文件中的行數(shù)(在通過(guò)-p選項(xiàng)調(diào)整名稱之后),以獲得每個(gè)文件中的總行數(shù)。

-e file

將標(biāo)準(zhǔn)錯(cuò)誤重定向到文件

-f format

指定直方圖的格式:

,為了簡(jiǎn)潔,它只顯示值和一個(gè)直方圖代碼insert (+),delete (-)或modify (!)。

1,正常格式。

2,用點(diǎn)填充直方圖。

4,使用直方圖打印每個(gè)值。

任何非零值都會(huì)給出直方圖。點(diǎn)和個(gè)別值可以結(jié)合在一起,例如-f6給出兩者。

-h

顯示幫助信息并且退出

-k

禁止合并報(bào)表中的文件名

-l

只列出文件名。不生成直方圖。

-m

從修補(bǔ)程序文件的每個(gè)“塊”中合并插入/刪除計(jì)數(shù),以接近修改行的計(jì)數(shù)

-n number

指定用于文件名的最小寬度。如果不指定這一點(diǎn),Diffstat在去掉常見(jiàn)前綴后使用最長(zhǎng)文件名的長(zhǎng)度。

-N number

指定用于文件名的最大寬度。超過(guò)此限制的名稱在左側(cè)被截?cái)?。如果您沒(méi)有指定此選項(xiàng),下面將檢查-n選項(xiàng)。

-o file

將標(biāo)準(zhǔn)輸出重定向到文件

-p number

重寫刪除公共路徑名的邏輯,模擬修補(bǔ)程序“-p”選項(xiàng)。

-q

抑制空差異的“0文件更改”消息

-r code

提供直方圖中顯示的數(shù)據(jù)的可選舍入,而不是通過(guò)錯(cuò)誤調(diào)整截?cái)鄶?shù)據(jù):

,是默認(rèn)的。不執(zhí)行舍入操作,但累積錯(cuò)誤將添加到下列中。

1,舍入數(shù)據(jù)。

2,對(duì)數(shù)據(jù)進(jìn)行舍入并調(diào)整直方圖,以確保在有任何差異的情況下顯示某些內(nèi)容,即使這些差異通常被四舍五入為零。

-S source

這類似于-D選項(xiàng),但指定了一個(gè)可以找到原始文件(在應(yīng)用差異之前)的位置。

-t

重寫直方圖,生成逗號(hào)分隔值的輸出。

-u

禁止對(duì)報(bào)表中的文件名進(jìn)行排序。

-v

顯示進(jìn)度,例如,如果輸出重定向到文件,則將進(jìn)度消息寫入標(biāo)準(zhǔn)錯(cuò)誤

-V

顯示版本號(hào),并且退出

-w number

指定直方圖的最大寬度。直方圖將永遠(yuǎn)不會(huì)小于10列,以防文件名過(guò)大。

3、環(huán)境變量

Diffstat運(yùn)行在可移植的UNIX環(huán)境中。您可以通過(guò)設(shè)置與輸入文件名稱相對(duì)應(yīng)的環(huán)境變量來(lái)覆蓋用于解壓縮輸入文件的程序的編譯路徑。然而,Diffstat假設(shè)生成的程序使用相同的命令行選項(xiàng),例如“-c”來(lái)解壓縮到標(biāo)準(zhǔn)輸出。

DIFFSTAT_BZCAT_PATH

DIFFSTAT_BZIP2_PATH

DIFFSTAT_COMPRESS_PATH

DIFFSTAT_GZIP_PATH

DIFFSTAT_LZCAT_PATH

DIFFSTAT_PCAT_PATH

DIFFSTAT_UNCOMPRESS_PATH

DIFFSTAT_ZCAT_PATH

4、實(shí)例

     統(tǒng)計(jì)差異信息 

[root@localhost wj]# diff 1.c 2.c

1c1

< asd

---

> add

3,4c3,4

< dfg

< ass

---

> dsgf

> sss

[root@localhost wj]# diff 1.c 2.c |diffstat -f 2

 unknown |    6 +++---..........................................................

 1 file changed, 3 insertions(+), 3 deletions(-)

[root@localhost wj]# diff 1.c 2.c |diffstat -f 1

 unknown |    6 +++---

 1 file changed, 3 insertions(+), 3 deletions(-)

You have new mail in /var/spool/mail/root

[root@localhost wj]# diff 1.c 2.c |diffstat -f 0

 unknown |    6    3 + 3 - 0 !

 1 file changed, 3 insertions(+), 3 deletions(-)

[root@localhost wj]# 

“Linux基礎(chǔ)命令diffstat的用法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI