為L(zhǎng)inux初學(xué)者講解wc命令
在命令行工作時(shí),有時(shí)您可能想要知道一個(gè)文件中的單詞數(shù)量、字節(jié)數(shù)、甚至換行數(shù)量。如果您正在尋找這樣做的工具,您會(huì)很高興地知道,在 Linux 中,存在一個(gè)命令行實(shí)用程序,它被稱(chēng)為 wc
,它為您完成所有這些工作。在本文中,我們將通過(guò)簡(jiǎn)單易懂的例子來(lái)討論這個(gè)工具。
但是在我們開(kāi)始之前,值得一提的是,本教程中提供的所有示例都在 Ubuntu 16.04 上進(jìn)行了測(cè)試。
Linux wc 命令
wc
命令打印每個(gè)輸入文件的新行、單詞和字節(jié)數(shù)。以下是該命令行工具的語(yǔ)法:
wc [OPTION]... [FILE]...
以下是 wc
的 man 文檔的解釋?zhuān)?/p>
為每個(gè)文件打印新行、單詞和字節(jié)數(shù),如果指定多于一個(gè)文件,也列出總的行數(shù)。單詞是由空格分隔的非零長(zhǎng)度的字符序列。如果沒(méi)有指定文件,或當(dāng)文件為 `-`,則讀取標(biāo)準(zhǔn)輸入。
下面的 Q&A 樣式的示例將會(huì)讓您更好地了解 wc
命令的基本用法。
注意:在所有示例中我們將使用一個(gè)名為 file.txt
的文件作為輸入文件。以下是該文件包含的內(nèi)容:
hi
hello
how are you
thanks.
Q1. 如何打印字節(jié)數(shù)
使用 -c
命令選項(xiàng)打印字節(jié)數(shù).
wc -c file.txt
下面是這個(gè)命令在我們的系統(tǒng)上產(chǎn)生的輸出:
如何打印字節(jié)數(shù)
文件包含 29 個(gè)字節(jié)。
Q2. 如何打印字符數(shù)
要打印字符數(shù),請(qǐng)使用 -m
命令行選項(xiàng)。
wc -m file.txt
下面是這個(gè)命令在我們的系統(tǒng)上產(chǎn)生的輸出:
如何打印字符數(shù)
文件包含 29 個(gè)字符。
Q3. 如何打印換行數(shù)
使用 -l
命令選項(xiàng)來(lái)打印文件中的新行數(shù):
wc -l file.txt
這里是我們的例子的輸出:
如何打印換行數(shù)
Q4. 如何打印單詞數(shù)
要打印文件中的單詞數(shù)量,請(qǐng)使用 -w
命令選項(xiàng)。
wc -w file.txt
在我們的例子中命令的輸出如下:
如何打印字?jǐn)?shù)
這顯示文件中有 6 個(gè)單詞。
Q5. 如何打印最長(zhǎng)行的顯示寬度或長(zhǎng)度
如果您想要打印輸入文件中最長(zhǎng)行的長(zhǎng)度,請(qǐng)使用 -l
命令行選項(xiàng)。
wc -L file.txt
下面是在我們的案例中命令產(chǎn)生的結(jié)果:
如何打印最長(zhǎng)行的顯示寬度或長(zhǎng)度
所以文件中最長(zhǎng)的行長(zhǎng)度是 11。
Q6. 如何從文件讀取輸入文件名
如果您有多個(gè)文件名,并且您希望 wc
從一個(gè)文件中讀取它們,那么使用-files0-from
選項(xiàng)。
wc --files0-from=names.txt
如何從文件讀取輸入文件名
如你所見(jiàn) wc
命令,在這個(gè)例子中,輸出了文件 file.txt
的行、單詞和字符計(jì)數(shù)。文件名為 file.txt
的文件在 name.txt
文件中提及。值得一提的是,要成功地使用這個(gè)選項(xiàng),文件中的文件名應(yīng)該用 NUL 終止——您可以通過(guò)鍵入Ctrl + v
然后按 Ctrl + Shift + @
來(lái)生成這個(gè)字符。
結(jié)論
正如您所認(rèn)同的一樣,從理解和使用目的來(lái)看, wc
是一個(gè)簡(jiǎn)單的命令。我們已經(jīng)介紹了幾乎所有的命令行選項(xiàng),所以一旦你練習(xí)了我們這里介紹的內(nèi)容,您就可以隨時(shí)在日常工作中使用該工具了。想了解更多關(guān)于 wc
的信息,請(qǐng)參考它的 man 文檔。