《09 文本處理工具》由會(huì)員分享,可在線閱讀,更多相關(guān)《09 文本處理工具(19頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、紅帽RHCT課程講義紅帽企業(yè)紅帽企業(yè)Linux用戶基礎(chǔ)用戶基礎(chǔ)RHA文本處理工具文本處理工具8單元單元紅帽紅帽企業(yè)企業(yè)Linux用戶基礎(chǔ)用戶基礎(chǔ)目標(biāo)目標(biāo)本單元你將學(xué)習(xí)到本單元你將學(xué)習(xí)到:使用工具提取、分析和操作文本數(shù)據(jù)提取文本工具提取文本工具文件內(nèi)容:文件內(nèi)容:less和和cat文件摘選:文件摘選:head和和tail提取列或者字段:提取列或者字段:cut按關(guān)鍵字提?。喊搓P(guān)鍵字提?。翰榭次募?nèi)容查看文件內(nèi)容-less和和catcat:dump一個(gè)或者多個(gè)文件到標(biāo)準(zhǔn)輸出一個(gè)或者多個(gè)文件到標(biāo)準(zhǔn)輸出多個(gè)文件聯(lián)合在一起Less:在查看文件或者標(biāo)準(zhǔn)輸入的時(shí)候,每次只看一頁在查看文件或者標(biāo)準(zhǔn)輸入的時(shí)候,每
2、次只看一頁在查看時(shí)常用的命令如下:/text:搜索textn/N:跳轉(zhuǎn)到next/previous匹配的地方v:用文本編輯器打開該文件man命令中是采用命令中是采用less來分頁的來分頁的查看文件摘選查看文件摘選-head和和tailhead:顯示文件的起始:顯示文件的起始10行行使用-n選項(xiàng)改變行顯示tail:顯示文件最后:顯示文件最后10行行使用-n選項(xiàng)改變行顯示使用-f選項(xiàng)來繼續(xù)從輸入文件復(fù)制額外的單元對(duì)于監(jiān)控日志文件非常有用!通過關(guān)鍵字來提取文本通過關(guān)鍵字來提取文本-grep打印匹配的文件行或者標(biāo)準(zhǔn)輸入打印匹配的文件行或者標(biāo)準(zhǔn)輸入$grep john/etc/passwd$date h
3、elp|grep year使用使用-i選項(xiàng)選項(xiàng):忽略大小寫敏感搜索忽略大小寫敏感搜索使用使用-n選項(xiàng)選項(xiàng):打印匹配的行號(hào)打印匹配的行號(hào)使用使用-v選項(xiàng)選項(xiàng):打印哪些不匹配的行打印哪些不匹配的行使用使用-AX選項(xiàng)選項(xiàng):在匹配數(shù)據(jù)后包含顯示在匹配數(shù)據(jù)后包含顯示X行行使用使用-BX選項(xiàng):在匹配數(shù)據(jù)前包含顯示選項(xiàng):在匹配數(shù)據(jù)前包含顯示X行行使用使用-r選項(xiàng):遞歸搜索目錄選項(xiàng):遞歸搜索目錄使用使用-color=auto選項(xiàng):用選項(xiàng):用color顏色高亮顯示匹配的數(shù)據(jù)顏色高亮顯示匹配的數(shù)據(jù)提取列或字段提取列或字段-cut顯示文件指定的列或者標(biāo)準(zhǔn)輸入數(shù)據(jù)顯示文件指定的列或者標(biāo)準(zhǔn)輸入數(shù)據(jù)$cut-d:-f1/
4、etc/passwdgrep root/etc/passwd|cut-d:-f7使用使用-d選項(xiàng)來指定列分隔符(默認(rèn)是選項(xiàng)來指定列分隔符(默認(rèn)是TAB)使用使用-f選項(xiàng)來指定要打印的列選項(xiàng)來指定要打印的列使用使用-c選項(xiàng)來指定按字符來提取選項(xiàng)來指定按字符來提取$cut c2-5/usr/share/dict/文本分析工具文本分析工具文本統(tǒng)計(jì):文本統(tǒng)計(jì):wc文本排序:文本排序:sort文件比較:文件比較:diff和和patch拼寫檢查:拼寫檢查:收集文本統(tǒng)計(jì)收集文本統(tǒng)計(jì)-wc(單詞統(tǒng)計(jì)單詞統(tǒng)計(jì))計(jì)算單詞數(shù),行數(shù),字節(jié)數(shù)和字符數(shù)計(jì)算單詞數(shù),行數(shù),字節(jié)數(shù)和字符數(shù)可以針對(duì)一個(gè)文件或者標(biāo)準(zhǔn)輸入可以針對(duì)一
5、個(gè)文件或者標(biāo)準(zhǔn)輸入$wcstory.txt39 237 1901 story.txt使用使用-l選項(xiàng):僅僅統(tǒng)計(jì)行數(shù)選項(xiàng):僅僅統(tǒng)計(jì)行數(shù)使用使用-w選項(xiàng):僅僅統(tǒng)計(jì)單詞數(shù)選項(xiàng):僅僅統(tǒng)計(jì)單詞數(shù)使用使用-c選項(xiàng):僅僅統(tǒng)計(jì)字節(jié)數(shù)選項(xiàng):僅僅統(tǒng)計(jì)字節(jié)數(shù)使用使用-m選項(xiàng):統(tǒng)計(jì)字符數(shù)選項(xiàng):統(tǒng)計(jì)字符數(shù)(不顯示不顯示)文本排序文本排序-sort對(duì)標(biāo)準(zhǔn)輸出排序?qū)?biāo)準(zhǔn)輸出排序-原始文件不改變?cè)嘉募桓淖?sort options file(s)常用選項(xiàng)常用選項(xiàng)-r:執(zhí)行反向(降)排序-n:執(zhí)行數(shù)字排序-f:忽略字符串中的大小寫-u:在輸出中刪除重復(fù)的行(唯一)-t c:使用c作為字段間的分隔符k X:使用c分隔符排序X
6、字段可多次使用消除重復(fù)行消除重復(fù)行-sort和和uniqsort-u:從輸入刪除重復(fù)行從輸入刪除重復(fù)行uniq:從相鄰的行中刪除重復(fù)行:從相鄰的行中刪除重復(fù)行使用-c選項(xiàng)統(tǒng)計(jì)發(fā)生重復(fù)的次數(shù)跟sort一起使用效果最好:$sort userlist.txt!uniq-文件比較文件比較-diff比較兩個(gè)文件的不同比較兩個(gè)文件的不同$diff foo.conf-broken foo.conf-works 5c5use_widgets=yes指出差異在第行使用圖形化的使用圖形化的diff工具工具gvimdiff,在,在vim-x11包里包里復(fù)制文件更改復(fù)制文件更改-patchdiff命令輸出差異并保存在
7、命令輸出差異并保存在patchfile文件中文件中使用-u選項(xiàng)統(tǒng)一diff,對(duì)生成patchfile是有好處的patch 命令復(fù)制改變?cè)谄渌奈募忻顝?fù)制改變?cè)谄渌奈募?小心使用小心使用!)使用-b選項(xiàng)自動(dòng)備份變更的文件diff-u foo.conf-broken foo.conf-works foo.patchpatch-b foo.conf-broken 使用使用aspell做拼寫檢查做拼寫檢查交互式拼寫檢查文件交互式拼寫檢查文件:$aspell check letter.txt非交互式列出拼錯(cuò)的單詞非交互式列出拼錯(cuò)的單詞$aspell list letter.txt$aspell
8、listletter.txt|wc-文本操作工具文本操作工具-tr和和sed更改更改(轉(zhuǎn)變轉(zhuǎn)變)字符字符:tr轉(zhuǎn)換一種字符集合為另外一種字符集合只能從STDIN讀取數(shù)據(jù)$tr a-z A-Zlowercase.txt更改字符串更改字符串:sed流編輯器執(zhí)行查找/替換 操作在文本流上通常不改變?cè)募褂?i.bak備份和修改原文件sed示例示例提供查詢和替換指令提供查詢和替換指令sed技巧技巧sed s/dog/cat/g petssed 1,50s/dog/cat/g petssed/digby/,/duncan/s/dog/cat/g pets多路多路sed指令指令sed e s/dog/c
9、at/e s/hi/lo/petssed f myedits 復(fù)雜的查詢復(fù)雜的查詢-正則表達(dá)式正則表達(dá)式表示行的開始表示行的開始$表示行的結(jié)束表示行的結(jié)束在在bash中做為字符類中做為字符類abc,abc:upper:,:upper:被許多命令使用被許多命令使用:grep,sed,總結(jié)和實(shí)驗(yàn)總結(jié)和實(shí)驗(yàn)摘要和實(shí)驗(yàn)摘要和實(shí)驗(yàn)提取文本cat,less,head,tail,grep,cut文本分析wc,sort,uniq,diff,patch文本操作tr,sed特殊的搜索字符,$,abc,abc,:alpha:,:alpha:等注:全部的實(shí)驗(yàn)和練習(xí)題也可以直接從我們的網(wǎng)站上下注:全部的實(shí)驗(yàn)和練習(xí)題也可以直接從我們的網(wǎng)站上下載載