Linux循序漸進(08)(轉)
Linux循序漸進(08)(轉)[@more@] 第十課(四) 檔案內容統計命令 wc命令 wc命令的功能為統計指定檔案中的位元組數、字數、行數, 並將統計結果顯示輸出。 語法:wc [選項] 檔案… 說明:該命令統計給定檔案中的位元組數、字數、行數。如果沒有給出檔名,則從標準輸入讀取。wc同時也給出所有指定檔案的總統計數。字是由空格字元區分開的最大字串。 該命令各選項含義如下: - c 統計位元組數。 - l 統計行數。 - w 統計字數。 這些選項可以組合使用。 輸出列的順序和數目不受選項的順序和數目的影響。總是按下述順序顯示並且每項最多一列。 行數、字數、位元組數、檔名 如果命令列中沒有檔名,則輸出中不出現檔名。 例如: $ wc - lcw file1 file2 4 33 file1 7 52 file2 11 11 85 total 省略任選項-lcw,wc命令的執行結果與上面一樣。 第十課(五) 檔案比較命令 這組命令可以用來比較兩個檔案內容的差別。 Comm命令 如果想對兩個有序的檔案進行比較,可以使用comm命令。 語法:comm [- 123 ] file1 file2 說明:該命令是對兩個已經排好序的檔案進行比較。其中file1和file2是已排序的檔案。comm讀取這兩個檔案,然後生成三列輸出:僅在file1中出現的行;僅在file2中出現的行;在兩個檔案中都存在的行。如果檔名用“- ”,則表示從標準輸入讀取。 選項1、2或3抑制相應的列顯示。例如comm - 12就只顯示在兩個檔案中都存在的行;comm - 23只顯示在第一個檔案中出現而未在第二個檔案中出現的行;comm - 123則什麼也不顯示。 例如:假設要對檔案myfile1和myfile2進行比較 $ cat myfile1 main( ) { float a,b, i, j ,z ; a=i=10 ; b=j=5 ; z= i + j ; printf(“z=%d
”,z) ; } $ cat myfile2 #include main( ) { float i, j ,z ; i=10 ; j=5 ; z= i + j ; printf(“z=%f
”,z) ; } $ comm - 12 myfile1 myfile2 main( ) { z= i + j ; } 就只顯示檔案myfile1和myfile2中共有的行。 Diff命令 該命令的功能為逐行比較兩個文字檔案,列出其不同之處。它比comm命令完成更復雜的檢查。它對給出的檔案進行系統的檢查,並顯示出兩個檔案中所有不同的行,不要求事先對檔案進行排序。 語法:diff [選項] file1 file2 說明:該命令告訴使用者,為了使兩個檔案file1和file2一致,需要修改它們的哪些行。如果用“- ”表示file1或fiie2,則表示標準輸入。如果file1或file2是目錄,那麼diff將使用該目錄中的同名檔案進行比較。例如: diff /usr/xu mine 把目錄/usr/xu 中名為mine的檔案與當前目錄中的mine檔案進行比較。 通常輸出由下述形式的行組成: n1 a n3,n4 n1,n2 d n3 n1,n2 c n3,n4 這些行類似ed命令把filel轉換成file2。字母(a、d和c)之前的行號(n1,n2)是針對file1的,其後面的行號(n3,n4)是針對file2的。字母a、d和c分別表示附加、刪除和修改操作。 在上述形式的每一行的後面跟隨受到影響的若干行,以“<”打頭的行屬於第一個檔案,以“>”打頭的行屬於第二個檔案。 diff能區別塊和字元裝置檔案以及FIFO(管道檔案),不會把它們與普通檔案進行比較。 如果file1和file2都是目錄,則diff會產生很多資訊。如果一個目錄中只有一個檔案,則產生一條資訊,指出該目錄路徑名和其中的檔名。 diff各選項的含義如下: - b 忽略行尾的空格,而字串中的一個或多個空格符都視為相等。如How are you與How are you被視為相同的字串。 - c 採用上下文輸出格式(提供三行上下文)。 - C n 採用上下文輸出格式(提供n行上下文)。 - e 產生一個合法的ed指令碼作為輸出。 - r 當file1和file2是目錄時,遞迴作用到各檔案和目錄上。 例如,檔案ml.c的內容為(左邊行號是有意加上的,以便前後對照): 1 main( ) { printf(“Hello!\n”); } 5 檔案m2.c的內容為: 1 main() 2 { 3 int n , m ; 4 n= 10 ; 5 printf ( “ % d n ” , m = n * 10); 6 } 輸入命令: $ diff m1.c m2.c 螢幕上顯示: 3,5 c 3,6 printf(“Hello!\n”); } <5 >3 int n,m; >4 n=10 ; >5 printf ( “ % d n ” , m = n * 10); >6 } 表示把檔案m1.c的3至5行改成m2.c的3至6行後,兩個檔案相同。本文由TurboLinux公司提供。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-938947/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux循序漸進(09)(轉)Linux
- Linux循序漸進(04)(轉)Linux
- Linux循序漸進(07)(轉)Linux
- Linux循序漸進(06)(轉)Linux
- Linux循序漸進(05)(轉)Linux
- Linux循序漸進(03)(轉)Linux
- Linux循序漸進(02)(轉)Linux
- Linux循序漸進(01)(轉)Linux
- Linux循序漸進(16)(轉)Linux
- Linux循序漸進(13)(轉)Linux
- Linux循序漸進(11)(轉)Linux
- Linux循序漸進(10)(轉)Linux
- Linux循序漸進(22):vi(轉)Linux
- Linux循序漸進(19):shell(轉)Linux
- Linux循序漸進(24):vi命令(轉)Linux
- Linux循序漸進(21):別名(轉)Linux
- Linux循序漸進(17):列印操作(轉)Linux
- Linux循序漸進(15):磁碟管理(轉)Linux
- 循序漸進linux(二)Linux
- Linux循序漸進(18):netstat命令(轉)Linux
- Linux循序漸進(14):程式排程(轉)Linux
- Docker循序漸進Docker
- 循序漸進教你LINUX之軟體配置方法(轉)Linux
- 循序漸進學習LINUX之LINUX程式設計(轉)Linux程式設計
- 怎樣黑進Microsoft:循序漸進指南 (轉)ROS
- 循序漸進學加密加密
- IT專案外包要注意循序漸進(轉)
- Linux循序漸進(23):Vi的編輯操作及命令(轉)Linux
- SQL開發 循序漸進SQL
- 循序漸進學習oracleOracle
- Linux循序漸進(20):標準輸入/輸出和重定向(轉)Linux
- CRM專案成功實施在於循序漸進(轉)
- CRM專案成功實施在於循序漸進 (轉)
- 循序漸進DIY一個react(二)React
- 循序漸進DIY一個react(一)React
- 循序漸進DIY一個react(三)React
- 循序漸進DIY一個react(四)React
- 循序漸進理解TypeScript型別模式TypeScript型別模式