中標麒麟Linux系統(tǒng)文本和文件處理介紹_第1頁
中標麒麟Linux系統(tǒng)文本和文件處理介紹_第2頁
中標麒麟Linux系統(tǒng)文本和文件處理介紹_第3頁
中標麒麟Linux系統(tǒng)文本和文件處理介紹_第4頁
中標麒麟Linux系統(tǒng)文本和文件處理介紹_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、中標麒麟Linux系統(tǒng)文本和文件處理介紹技術(shù)創(chuàng)新,變革未來中標麒麟Linux服務(wù)器操作系統(tǒng)培訓(xùn)系列本章目標使用工具來抽取、分析和處理文本數(shù)據(jù)使用文件查詢命令查看文件內(nèi)容cat通過 STUOUT 顯示一個或多個文件多個文件被連鎖 (concatenated) 在一起less一頁一頁地查看文件或 STDIN 輸出查看時有用的命令包括/文本 搜索 文本n/N 跳到下一個 / 上一個匹配v 在一個文本編輯器中打開文件less 命令是 man 命令使用的分頁器查看文件的部分內(nèi)容head顯示文件的前 10 行使用 -n 來改變要顯示的行數(shù)tail顯示文件的最后 10 行使用 -n 來改變要顯示的行數(shù)使用

2、-f 來“跟隨”對文件的后續(xù)補充對監(jiān)控日志文件非常有用按關(guān)鍵字抽取文本顯示文件或 STDIN 中匹配了某種模式的文本行$ grep john /etc/passwd$ date -help | grep year使用 -i 來不分大小寫地搜索使用 -n 來顯示匹配的行號使用 -v 來顯示不包含模式的行使用 -AX 在顯示每項搜索匹配時包括匹配文本后 的 X 行上下文使用 -BX 在顯示每項搜索匹配時包括匹配文本前 的 X 行上下文按列抽取文本顯示文件或 STDIN 數(shù)據(jù)的指定列$ cut -d: -f1 /etc/passwd$ grep root /etc/passwd | cut -d:

3、-f7使用 -d來指定區(qū)分列的定界符 (默認為 TAB)使用 -f 來指定要顯示的列使用 -C 來按字符切割$ cut -c2-5 /usr/share/dict/words收集文本統(tǒng)計數(shù)據(jù)計數(shù)單詞總數(shù)、行總數(shù)、字節(jié)總數(shù)和字符總數(shù)可以對文件或 STDIN 中的數(shù)據(jù)運行$ wc story.txt392371901 story.txt使用 -I 來只計數(shù)行數(shù)使用 -w 來只計數(shù)單詞總數(shù)使用 -c 來只計數(shù)字節(jié)總數(shù)使用 -m 來只計數(shù)字符總數(shù) (不顯示)整理文本把整理過的文本顯示在 STDOUT - 不改變原始文件$ sort 選項 文件常用選項-r 執(zhí)行反方向 (由上至下) 整理-n 執(zhí)行按數(shù)字

4、大小整理-f 選項忽略 (fold) 字符串中的字符大小寫-u 選項 (獨特,unique) 刪除輸出中的重復(fù)行-t c 選項使用 c 作為字段定界符-k X 選項按照使用 c 字符分隔的字段 X 來整理能使用多次重復(fù)行操作sort -u從輸入中刪除重復(fù)行uniq從輸入中刪除重復(fù)的前后相接的行使用 -c 選項來計數(shù)發(fā)生次數(shù)和 sort 命令一起使用效果最佳$ sort userlist.txt | uniq -c文件比較diff比較兩個文件之間的區(qū)別$ diff foo.conf-broken foo.conf-works5c5use_widgets = yes注明第 5 行有區(qū)別 (改變)d

5、iff 命令的圖形化版本是 gvimdiff在 vim-X11 軟件包中提供復(fù)制文件的改變diff 命令的輸出被保存在一種叫做“補丁”的文件 中 使用 -u 選項來輸出“統(tǒng)一的 (unified) ”diff格式 文件,最適用于補丁文件。patch 命令復(fù)制在其它文件中進行的改變 (要謹慎 使用?。┦褂?-b 選項來自動備份改變了的文件$ diff -u foo.conf-broken foo.conf-works foo.patch$ patch -b foo.conf-broken foo.patch檢查拼寫交互式檢查文件中的拼寫$ aspell check letter.txt非交互式地

6、在 STDIN 中列舉拼錯的單詞$ aspell list letter.txt$ aspell list letter.txt | wc -I處理文本tr 和 sed改變 (translate) 字符tr把一個集合內(nèi)的字符轉(zhuǎn)換成另一個集合中的相應(yīng)字符只讀取 STDIN 中的數(shù)據(jù)$ tr a-z A-Z lowercase.txt改變字符串sed流編輯器 (stream editor)在一個文本流上進行搜索 / 替換操作通常不改變源文件使用 -i.bak 來備份,并改變源文件復(fù)雜搜索 代表行首$ 代表行尾和 bash 中一樣的字符類別abc、abc:upper:、:upper:使用程序grep

7、、sed、less、其它locate查詢系統(tǒng)上預(yù)建的文件數(shù)據(jù)庫數(shù)據(jù)庫必須被管理員更新搜索的是文件的全路徑,不僅僅是文件名可能只搜索用戶具備讀取和執(zhí)行權(quán)限的目錄locate 命令實例locate foo搜索名稱或路徑中帶有“foo”的文件locate -r .foo$使用 Regex 來搜索以“.foo”結(jié)尾的文件有用的選項-i 執(zhí)行區(qū)分大小寫的搜索-n X 只列舉前 X 個匹配項目findfind 目錄. 條件.在實時環(huán)境里搜索目錄樹比 locate 命令慢,但比它更準確如果沒有給定起始目錄,就會使用 CWD (當前所在 目錄)如果沒有給定條件,就會匹配所有文件可以在找到的文件上執(zhí)行命令可能只

8、搜索用戶具備讀取和執(zhí)行權(quán)限的目錄find 命令和邏輯運算符搜索條件默認使用 AND 運算符連接??梢允褂?-o 來進行 OR 運算,或 -not 來進行否定 運算可以使用括號來決定邏輯運算的順序,但是必須使 用 bash 的轉(zhuǎn)義符。find -user joe -not -group joefind -user joe -o -user janefind -not ( -user joe -o -user jane )find 命令和權(quán)限可以根據(jù)用戶名或 ID 來匹配所有者find / -user joe -o -uid 500可以匹配數(shù)字式 (又稱八進制) 或符號式權(quán)限模 式find -pe

9、rm 755 會匹配權(quán)限模式恰好是 755 的文件只有當任何人都有寫權(quán)限時,find -perm +222 才會 匹配只有當每個人都有寫權(quán)限時,find -perm -222 才會匹 配只有當其它人 (other) 有寫權(quán)限時,find -perm -002才會匹配find 命令和數(shù)字式條件許多 find 條件都接受數(shù)值作為參數(shù)find -size 1024k大小正好是 1 兆的文件find -size +1024k大小超過 1 兆的文件find -size -1024k大小小于 1 兆的文件find 和存取時間find 命令可以根據(jù) inode 時間戳來進行匹配-atime文件最后一次被讀取-mtime文件數(shù)據(jù)最后一次被改變-ctime文件數(shù)據(jù)或元數(shù)據(jù)最后一次被改變給定值代表天數(shù)find -ctime -10文件修改日期少于 10 天使用 find 來執(zhí)行命令使用 find 來執(zhí)行命令在找到的文件上可以執(zhí)行命令命令前面必須加一個 -exec 或 -ok 選項-ok 在對每個文件執(zhí)行命令前提示你命令必須以 空格;(“ ;”) 結(jié)尾 可以用作文件名的位置標志符find -size +102400k -ok gzip

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論