使用Linux bash命令統計檔案行數
概述
我們有時需要確定特定文字文件的大小。例如,如果我們試圖弄清楚某個電子郵件有多長,我們可以使用該郵件的行數來幫助我們估計其大小。Linux 有幾種不同的方法可以確定文字文件的長度。
我們將仔細研究一些計算特定檔案行數的最常用方法。
設定
在本快速教程中,我們將使用名為“programing.txt”的文字檔案,其中包含當今使用的一些最流行的計算機語言。
$ cat programming.txt JavaScript Java C Python C# PHP C++ Go R Ruby
如果我們手動計算單詞數,我們會得到10。但是如果我們手動計算,隨著單詞數量的增加,它很快就會變成一項繁瑣的任務,難以完成。但是,有一些基於命令的程式可以幫助我們自動計算單詞數。
wc 命令
要計算字元數、換行符等,分別使用 wc -l、wc -w 和 wc -c 命令。
我們使用 wc 命令來計算檔案中的行數。新增 -l 標誌會給出總行數和檔名。
我們可以使用 wc -l (單詞計數) 命令檢視檔案中共有多少行。
$ wc -l programming.txt 10 programming.txt
從輸出中我們可以看到,它輸出了數字 10,表示總行數,以及檔名 programming.txt。
我們可以使用 shell 將 program.txt 檔案重定向到 wc -l 命令的標準輸出。這將給出字元數,而不會顯示檔名。
$ wc -l < programming.txt 10
另一種在檔案中執行命令的常用方法是使用cat 命令 並將它們透過 bash 直譯器傳遞。
$ cat programming.txt | wc -l 10
sed 命令
sed 是一種對檔案執行基本轉換的工具。它主要用於在給定的輸入中查詢和替換字串。您也可以用它來計算特定輸入中的行數。
sed 可用於列印每一行的行號。
sed -n ‘=’
我們可以使用“sed”命令、“-n”選項和等號 (=) 來列印行號而不顯示檔案的文字。
$ sed -n '=' programming.txt 1 2 3 4 5 6 7 8 9 10
從結果中我們可以看到,該命令只輸出了行數。但是,這種方法在處理大型文字文件時擴充套件性不好。
sed -n ‘$=’
我們通常更喜歡使用-c 選項和'=' 引數來計算文字文件的總行數。sed 命令的輸出是文件的總行數。
$ sed -n '$=' programming.txt 10
awk 命令
awk 命令將每個輸入檔案視為一個單獨的記錄。然後可以透過引用內建 awk 變數 NR(記錄數)在最後列印記錄數。
$ awk 'END { print NR }' programming.txt 10
cat 命令
cat (連線) 命令將多個檔案作為引數,並將它們列印到標準輸出。它使用 -n 選項顯示每個檔案的行及其對應的編號。
$ cat -n programming.txt 1 JavaScript 2 Java 3 C 4 Python 5 C# 6 PHP 7 C++ 8 Go 9 R 10 Ruby
我們可以看出,該命令輸出了行號和檔案的內容。但是,這種方法對於較大的檔案並不實用。
結論
我們已經看到了使用Bash 統計文字檔案行數的幾種不同方法。
在處理大型檔案時,一些顯示檔案內容的命令會變得低效且不實用。
wc -l 命令是最常用的,也是查詢特定檔案行號最簡單的方法。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP