亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

linux文本搜索命令

系統 1798 0

文本的提取和排序

下面介紹幾個重要的文本提取工具。
使用grep匹配模式
本章前面簡要地 介紹了grep命令,用它進行一個串中某些模式的匹配,采用正規表達式。(關于正規表達式的詳細介紹,請參閱 [url]http://www.regular-expressions.info/tutorial.html[/url]處的教程。)詞grep是 global regular expression print(全局正規表達式打印)的首字母縮寫,它是從下面的vi命令衍生出來的,下面的命令打印與正規表達式re相匹配的所有行。
可將正規表達式 想象為用來定位文件中文本的搜索標準。因此,grep類似于別的操作系統中的搜索命令。grep搜索文件(或多個文件)的每一行,尋找給定串的第一次出 現,如果找到這個串,打印出相應的行。例如,輸出文件test.txt中包含表達式oracle database的所有行,可以按如下的方式使用grep命令:
為了輸出test.txt文件中不包含表達式oracle database的所有行,可使用帶-v選項的grep命令,如下所示:
除-v選項外,grep命令還可以使用如下的幾個選項。
q -c:打印每個輸入文件匹配行計數。
q -l:打印每個輸入文件的名字。
q -n:提供每個輸出行的行號。
q -i:忽略表達式中字母的大小寫。
除grep外,還可以使用fgrep(固定grep)搜索文件。fgrep命令不使用正規表達式。此命令直接進行串比較,查找某個固定串而不是一個正規表達式的匹配。
grep的egrep版本幫助處理復雜的正規表達式,比正規的grep命令快。
剪切、粘貼和聯結文本
通常,需要剪切一個文件文本的某部分,或者聯結來自不止一個文件的文本。UNIX提供了執行這些任務的命令,以下各節對它們進行介紹。
1.用cut命令輸出列
cut命令輸出一個文本文件的指定的列。假如有一個名為example.txt的文件,它具有如下的文本:
可用-f選項指定要提取的字段。下面的命令將返回example.txt文件中的第二列:
使用帶-c選項的cut命令來指定希望從一個文件中提取的特定字符。下面的兩個命令分別提取password.txt文件中的第10個字符以及第10-12個字符:
可與-f選項一 起使用-d選項提取直到一個特定定界符的所有字符。下面的例子說明,cut命令提取passwd文件的第一個字段(f1),用-d選項指出該字段是由冒號 (:)定界的。(passwd文件位于/etc目錄,此目錄保存UNIX和Linux系統用戶賬號信息。)
2.用paste命令聯結文件
paste命令從一個源取一行并把它與來自另一源的另一行組合起來。假如有兩個文件:test1.txt包含字符串one two three,test2.txt包含one four five six。可如下用paste命令將兩個文件結合:
3.用join命令聯結文件
join命令也結合兩個文件的內容,但它只在兩個文件有一個共同字段時進行結合。前一節中,test1.txt和test2.txt不具有共同的列,因此對這兩個文件使用join命令不起作用。但如果有兩個文件test.one和test.two,它們的內容如下:
默認情況下,join命令只匹配第一個字段,所以它將根據共同的(第一列)給出如下的結果:
-1選項允許指出使用哪個字段作為第一個文件中的匹配字段。-2選項允許指定使用哪個字段作為第二個文件中的匹配字段。例如,如果第一個文件的第二個字段匹配第二個文件的第三個字段,可使用如下的join命令:
可使用-o選項以后面的格式指定輸出字段:file.filed。因此,要打印匹配行的第一個文件的第二個字段和第二個文件的第三個字段,可使用如下帶選項的join命令:
4.用sort命令排序文本
可用sort命令對文本文件的行進行排序,不管這些行是來自于管道或來自于文件。如果使用-m選項,sort只合并文件而不排序。假如有一個名為test.txt的文件,其內容如下:
可用sort命令將test.txt文件的內容按字母順序輸出:
默認時,sort在文本的第一列上進行排序。
5.用uniq命令刪除重復的行
uniq命令刪除文件的重復行。在一個管道中,此命令通常后跟一個sort命令。使用-c選項,可將其用來對某行進行計數,或者使用-d選項,可用來只報告重復的行。
上面的例子中,sort命令使用-m選項合并兩個文件,test.one和test.two。輸出管道到帶-c選項的uniq命令。所得出的是一個按字母順序排列的表,所有重復行被刪除。而且還給出每行重復的頻率。

linux文本搜索命令


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产成人精品视频免费大全 | 伊人2222| 精品欧美一区二区三区在线 | 香蕉爱视频 | 伊人网在线视频 | 中文字幕在线视频免费 | www.日本一区二区 | 欧美日韩一区二区高清视 | 免费黄色毛片视频 | 男女啪视频大全1000 | 色偷偷成人网免费视频男人的天堂 | 久在线精品视频 | 欧美综合色 | 寡妇一级a毛片免费播放 | 黄色成人免费网站 | 国产伦理久久精品久久久久 | 国产精品免费久久久免费 | 欧美午夜在线播放 | 色老头xxxxbbbb视频 | 九九在线免费观看视频 | 欧美一级特黄一片免费 | 在哪里可以看毛片 | 天天拍拍天天爽免费视频 | 美女叫春 | 西西大胆实体啪啪色哟哟 | 亚洲第一a | 中文字幕一区二区三区精彩视频 | 在哪里可以看毛片 | 国产图区| 日本精品一区 | 国外成人免费高清激情视频 | 一级黄色毛片免费看 | 亚洲一区二区三区成人 | 韩国女主播一区二区三区视频 | 九九99香蕉在线视频网站 | 亚洲综合色吧 | 亚洲另类欧美日韩 | 五月婷婷激情五月 | 草久久久久 | 欧美国产综合 | 成人在线视频网 |