Linux下常用文本處理命令有哪些

這篇文章主要介紹了Linux下常用文本處理命令有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創新互聯-專業網站定制、快速模板網站建設、高性價比田東網站開發、企業建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式田東網站制作公司更省心,省錢,快速模板網站建設找我們,業務覆蓋田東地區。費用合理售后完善,十年實體公司更值得信賴。

一. sort

文件排序,通常用在管道中當過濾器來使用。這個命令可以依據指定的關鍵字或指定的字符位置,對文件行進行排序。使用-m選項,它將會合并預排序的輸入文件。想了解這個命令的全部參數請參考這個命令的info頁。

二. tsort

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

三. uniq

這個過濾器將會刪除一個已排序文件中的重復行。這個命令經常出現在sort命令的管道后邊。

四. expand, unexpand

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

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

五. cut

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

六. paste

將多個文件, 以每個文件一列的形式合并到一個文件中,合并后文件中的每一列就是原來的一個文件。與cut結合使用,經常用于創建系統log文件。

七. join

這個命令與paste命令屬于同類命令。但是它能夠完成某些特殊的目地。這個強力工具能夠以一種特殊的形式來合并兩個文件,這種特殊的形式本質上就是一個關聯數據庫的簡單版本。

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

八. head

把文件的頭部內容打印到stdout上(默認為10行,可以自己修改)。這個命令有一些比較有趣的選項。

九. tail

將一個文件結尾部分的內容輸出到stdout中(默認為10行)。通常用來跟蹤一個系統logfile的修改情況,如果使用-f選項的話,這個命令將會繼續顯示添加到文件中的行。

十. wc

wc可以統計文件或I/O流中的"單詞數量"。

十一. fold

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

十二. fmt

一個簡單的文件格式器。通常用在管道中,將一個比較長的文本行輸出進行"折行"。

十三. col

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

十四. column

列格式化工具。通過在合適的位置插入tab,這個過濾工具會將列類型的文本轉化為"易于打印"的表格式進行輸出。

十五. colrm

列刪除過濾器。這個工具將會從文件中刪除指定的列(列中的字符串)并且寫到文件中,如果指定的列不存在,那么就回到stdout。colrm 2 4 <filename將會刪除filename文件中每行的第2到第4列之間的所有字符。

Caution:如果這個文件包含tab和不可打印字符,那將會引起不可預期的行為。在這種情況下,應該通過管道的手段使用expand和unexpand來預處理colrm。

十六. nl

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

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

十七. pr

格式化打印過濾器。這個命令會將文件(或stdout)分頁,將它們分成合適的小塊以便于硬拷貝打印或者在屏幕上瀏覽。使用這個命令的不同的參數可以完成好多任務,比如對行和列的操作,加入行,設置頁邊,計算行號,添加頁眉,合并文件等等。pr命令集合了許多命令的功能,比如nl, paste, fold, column, 和expand。

pr -o 5 --width=65 fileZZZ | more 這個命令對fileZZZ進行了比較好的分頁,并且打印到屏幕上。文件的縮進被設置為5,總寬度設置為65。

一個非常有用的選項-d,強制隔行打印(與sed -G效果相同)。

十八. gettext

GNU gettext包是專門用來將程序的輸出翻譯或者本地化為不同國家語言的工具集。在最開始的時候僅僅支持C語言,現在已經支持了相當數量的其它程序語言和腳本語言。

想要查看gettext程序如何在shell腳本中使用,請參考info頁。

十九. msgfmt

一個產生二進制消息目錄的程序。這個命令主要用來本地化。

二十. iconv

一個可以將文件轉化為不同編碼格式(字符集)的工具。這個命令主要用來本地化。

二十一. recode

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

二十二. TeX, gs

TeX和Postscript都是文本標記語言,用來對打印和格式化的視頻顯示進行預拷貝。

TeX是Donald Knuth精心制作的排版系統。通常情況下,通過編寫腳本的手段來把所有的選項和參數封裝起來一起傳到標記語言中是一件很方便的事情。

Ghostscript (gs) 是一個 遵循GPL的Postscript解釋器。

二十三. enscript

將純文本文件轉換為PostScript的工具,

比如, enscript filename.txt -p filename.ps 產生一個 PostScript 輸出文件filename.ps。

二十四. groff, tbl, eqn

另一種文本標記和顯示格式化語言是groff。這是一個對傳統UNIX roff/troff顯示和排版包的GNU增強版本,Man頁使用的就是groff。

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

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

二十五. lex, yacc

lex是用于模式匹配的詞匯分析產生程序,在Linux系統上這個命令已經被flex取代了。

yacc工具基于一系列的語法規范,產生一個語法分析器。在Linux系統上這個命令已經被bison取代了。

二十六. tr

字符轉換過濾器。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Linux下常用文本處理命令有哪些”這篇文章對大家有幫助,同時也希望大家多多支持創新互聯,關注創新互聯行業資訊頻道,更多相關知識等著你來學習!

標題名稱:Linux下常用文本處理命令有哪些
分享URL:http://m.kartarina.com/article24/pphpje.html

成都網站建設公司_創新互聯,為您提供網站收錄品牌網站設計微信小程序網站內鏈用戶體驗網站導航

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站優化排名
主站蜘蛛池模板: 一本色道久久HEZYO无码| 精品国精品无码自拍自在线| 亚洲精品无码av天堂| 久久青青草原亚洲av无码| 亚洲国产精品无码久久久蜜芽 | 亚洲AV永久无码区成人网站| 日韩欧精品无码视频无删节| 国产午夜无码福利在线看网站| 亚洲av永久无码精品秋霞电影秋 | 人妻av无码一区二区三区| 成人免费午夜无码视频| 成人年无码AV片在线观看| 久久人妻av无码中文专区| 无码少妇一区二区三区芒果| 久久久无码精品亚洲日韩蜜臀浪潮 | 亚洲av无码专区国产乱码在线观看 | 亚洲av中文无码乱人伦在线咪咕| 内射人妻少妇无码一本一道 | 免费看又黄又无码的网站| 无遮掩无码h成人av动漫| 亚洲国产精品无码AAA片| heyzo专区无码综合| 久久无码专区国产精品发布| 亚洲中文久久精品无码| 亚洲?V无码乱码国产精品| 亚洲av午夜精品无码专区| 国产AV无码专区亚洲A∨毛片| 亚洲午夜无码AV毛片久久| 日日摸日日碰夜夜爽无码| 亚洲日韩中文无码久久| 亚洲av中文无码| 国产精品无码久久av| 日本无码一区二区三区白峰美| 亚洲日韩精品无码专区| 18禁超污无遮挡无码免费网站| 东京热加勒比无码视频| 亚洲AV无码AV吞精久久| 无码中文av有码中文a| 亚洲精品无码一区二区| 国产精品久久久久无码av| 99热门精品一区二区三区无码 |