Linux下常用文字處理命令

2021-06-20 13:37:18 字數 2727 閱讀 3893

linux下面有很多經典的非常有用的命令,其中處理文字的命令就有很多。這些小工具經過了幾十年時間的洗禮,現在已經變成了經典,已經變成了linux下面的標準,其實它們一直是遵循著linux的標準。下面就讓我們一起看看這些經典的linux文字處理命令。

拓撲排序, 讀取以空格分隔的有序對, 並且依靠輸入模式進行排序.

這個過濾器將會刪除乙個已排序檔案中的重複行. 這個命令經常出現在sort命令的管道後邊.

expand命令將會把每個tab轉化為乙個空格. 這個命令經常用在管道中.

unexpand命令將會把每個空格轉化為乙個tab. 效果與expand命令相反.

乙個從檔案中提取特定域的工具. 這個命令與awk中使用的print $n命令很相似, 但是更受限. 在指令碼中使用cut命令會比使用awk命令來得容易一些. 最重要的選項就是-d(字段定界符)和-f(域分隔符)選項.

將多個檔案, 以每個檔案一列的形式合併到乙個檔案中, 合併後檔案中的每一列就是原來的乙個檔案. 與cut結合使用, 經常用於建立系統log檔案.

這個命令與paste命令屬於同類命令. 但是它能夠完成某些特殊的目地. 這個強力工具能夠以一種特殊的形式來合併兩個檔案, 這種特殊的形式本質上就是乙個關聯資料庫的簡單版本.

join命令只能夠操作兩個檔案. 它可以將那些具有特定標記域(通常是乙個數字標籤)的行合併起來, 並且將結果輸出到stdout. 被加入的檔案應該事先根據標記域進行排序以便於能夠正確的匹配.

把檔案的頭部內容列印到stdout上(預設為10行, 可以自己修改). 這個命令有一些比較有趣的選項.

將乙個檔案結尾部分的內容輸出到stdout中(預設為10行). 通常用來跟蹤乙個系統logfile的修改情況, 如果使用-f選項的話, 這個命令將會繼續顯示新增到檔案中的行.

wc可以統計檔案或i/o流中的"單詞數量":

將輸入按照指定寬度進行折行. 這裡有乙個非常有用的選項-s, 這個選項可以使用空格進行斷行(譯者: 事實上只有外文才需要使用空格斷行, 中文是不需要的)(請參考例子 12-23和例子 a-1).

乙個簡單的檔案格式器, 通常用在管道中, 將乙個比較長的文字行輸出進行"折行".

這個命令用來濾除標準輸入的反向換行符號. 這個工具還可以將空白用等價的tab來替換. col工具最主要的應用還是從特定的文字處理工具中過濾輸出, 比如groff和tbl. (譯者: 主要用來將man頁轉化為文字.)

列格式化工具. 通過在合適的位置插入tab, 這個過濾工具會將列型別的文字轉化為"易於列印"的**式進行輸出.

列刪除過濾器. 這個工具將會從檔案中刪除指定的列(列中的字串)並且寫到檔案中, 如果指定的列不存在, 那麼就回到stdout. colrm 2 4 caution: 如果這個檔案包含tab和不可列印字元, 那將會引起不可預期的行為. 在這種情況下, 應該通過管道的手段使用expand和unexpand來預處理colrm.

計算行號過濾器. nl filename將會把filename檔案的所有內容都輸出到stdout上, 但是會在每個非空行的前面加上連續的行號. 如果沒有filename引數, 那麼就操作stdin.

nl命令的輸出與cat -n非常相似, 然而, 預設情況下nl不會列出空行.

格式化列印過濾器. 這個命令會將檔案(或stdout)分頁, 將它們分成合適的小塊以便於硬拷貝列印或者在螢幕上瀏覽. 使用這個命令的不同的引數可以完成好多任務, 比如對行和列的操作, 加入行, 設定頁邊, 計算行號, 新增頁首, 合併檔案等等. pr命令集合了許多命令的功能, 比如nl, paste, fold, column, 和expand.

pr -o 5 --width=65 filezzz | more 這個命令對filezzz進行了比較好的分頁, 並且列印到螢幕上. 檔案的縮排被設定為5, 總寬度設定為65.

乙個非常有用的選項-d, 強制隔行列印(與sed -g效果相同).

gnu gettext包是專門用來將程式的輸出翻譯或者本地化為不同國家語言的工具集. 在最開始的時候僅僅支援c語言, 現在已經支援了相當數量的其它程式語言和指令碼語言.

想要檢視gettext程式如何在shell指令碼中使用. 請參考info頁.

乙個產生二進位制訊息目錄的程式. 這個命令主要用來本地化.

乙個可以將檔案轉化為不同編碼格式(字符集)的工具. 這個命令主要用來本地化.

可以認為這個命令是上邊iconv命令的專業版本. 這個非常靈活的並可以把整個檔案都轉換為不同編碼格式的工具並不是linux標準安裝的一部分.

tex是donald knuth精心製作的排版系統. 通常情況下, 通過編寫指令碼的手段來把所有的選項和引數封裝起來一起傳到標記語言中是一件很方便的事情.

ghostscript (gs) 是乙個 遵循gpl的postscript直譯器.

將純文字檔案轉換為postscript的工具

比如, enscript filename.txt -p filename.ps 產生乙個 postscript 輸出檔案filename.ps.

另一種文字標記和顯示格式化語言是groff. 這是乙個對傳統unix roff/troff顯示和排版包的gnu增強版本. man頁使用的就是groff.

tbl表處理工具可以認為是groff的一部分, 它的功能就是將表標記轉化到groff命令中.

eqn等式處理工具也是groff的一部分, 它的功能是將等式標記轉化到groff命令中.

lex是用於模式匹配的詞彙分析產生程式. 在linux系統上這個命令已經被flex取代了.

yacc工具基於一系列的語法規範, 產生乙個語法分析器. 在linux系統上這個命令已經被bison取代了.

字元轉換過濾器.

Linux下常用文字處理命令

linux下面有很多經典的非常有用的命令,其中處理文字的命令就有很多。這些小工具經過了幾十年時間的洗禮,現在已經變成了經典,已經變成了linux下面的標準,其實它們一直是遵循著linux的標準。下面就讓我們一起看看這些經典的linux文字處理命令。拓撲排序,讀取以空格分隔的有序對,並且依靠輸入模式進...

常用文字處理命令

tr 用於替換文字中的字串 tr 原始字元 目標字元 cat anaconda ks.cfg tr a z a z 小寫替換大寫 wc統計指定文字的行數,字數,位元組數 l 只顯示行數 w 只顯示單詞數 c 只顯示位元組數 cut 用於按列提取文字字元 cut 引數 文字 cut d f1 etc ...

Linux文字處理命令

4 linux文字處理命令sort命令 sort命令的功能是對檔案中的各行進行排序。sort命令有許多非常實用的選項,這些選項最初是用來對資料庫格式的檔案內容進行各種排序操作的。實際上,sort命令可以被認為是乙個非常強大的資料管理工具,用來管理內容類似資料庫記錄的檔案。sort命令將逐行對檔案中的...