Linux Cat命令除去空白行代碼實現(xiàn)
輸入文件按照它們在Linux Cat命令后的排列順序被打印,因此,要調(diào)換信息的順序,就必須先調(diào)換輸入文件的順序。此外,當(dāng)需要處理的文件數(shù)目對于您來說過大而無法手工輸入這些文件的名稱時,您可以使用通配符,如在catchapter*>book中使用的那樣,記住,文件名將會按升序排列。當(dāng)您突然發(fā)現(xiàn)chapter13被發(fā)送到輸出中時會在chapter2之前,而會在chapter02之后時,這會引起很有意思的問題。
當(dāng)Linux Cat命令的輸出沒有被重定向到一個文件或另一個命令的標(biāo)準(zhǔn)輸出時,Linux Cat命令表現(xiàn)出來的行為與多數(shù)命令行工具一樣,即將其輸出發(fā)送到控制臺。這意味著您可以使用Linux Cat命令來顯示文件;例如,您可以使用cat/etc/passwd來顯示系統(tǒng)密碼文件的內(nèi)容。為方便起見,您應(yīng)該用less查看大文件,如在less/etc/passwd中那樣(您可以通過輸入manless學(xué)習(xí)更多關(guān)于less的知識)。
盡管Linux Cat命令主要用于合并文件,您還可以將它用于輸入的簡單自動處理。例如,您可以使用一個單獨(dú)的空白行來除去多行空白行(使用-s選項),這是一個在您將源代碼公諸于世前進(jìn)行清除工作的好辦法。遺憾的是,cat并沒有用于一次清除所有空白行的選項。但這并不是什么大問題,因為您可以使用方便的sed命令將這些空白行除去:
清單1.使用sed與Linux Cat命令除去空白行$cat-s/etc/X11/XF86Config|sed'/^[[:space:]]*$/d'
- ...
- #MultipleFontPathentriesareallowed(theyareconcatenatedtogether)
- #Bydefault,RedHat6.0andlaternowuseafontserverindependentof
- #theXservertorenderfonts.
- FontPath"/usr/X11R6/lib/X11/fonts/TrueType"
- FontPath"unix/:7100"
- EndSection
- ...
對于讀取配置文件和HTML頁面的源文件,特別是那些由腳本生成的插入了不必要新行的源文件,以及那些包含大型條件結(jié)構(gòu)(其各個項之間已經(jīng)用空行分開)的源文件來說,空白行緊縮是一個方便的技巧。
Linux Cat命令的另外一個重要的功能是它可以對行進(jìn)行編號。這種功能對于程序文檔的編制以及法律和科學(xué)文檔的編制很方便。打印在左邊的行號使得參考文檔的某一部分變得容易。這在編程、科學(xué)研究、業(yè)務(wù)報告或甚至是立法工作中都是非常重要的。對行進(jìn)行編號功能有兩個選項:-b選項(只能對非空白行進(jìn)行編號)和-n選項(可以對所有行進(jìn)行編號):
本文來自CSDN博客,轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/zyofprogrammer/archive/2007/06/10/1647224.aspx
【編輯推薦】