Linux-查找和篩選工具_第1頁
Linux-查找和篩選工具_第2頁
Linux-查找和篩選工具_第3頁
Linux-查找和篩選工具_第4頁
Linux-查找和篩選工具_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1 第8章 查找和篩選工具8.1 查找文件工具find8.2 查找文本工具grep8.3 流編輯器sed8.4 格式化文本數據抽取工具awk28.1 查找文件工具find find用于從指定路徑查找文件,類似于windows中的搜索功能。【命令格式】nfind path param1 param2【常用選項】npath:查找路徑。如果未指定,則默認為當前工作目錄3nparam1:指定按照文件的哪種特征查詢name:按文件名查找perm:按文件權限查找mtime +/-n:按文件的修改時間查找(+n表示修改時間距現在n天以前,-n表示修改時間距現在n天以內)atime +/-n:按文件的訪問時間

2、查找文件user:按文件屬主查找4nparam2:指定如何處理查找到的文件prune:不在指定目錄中查找print:將查找到的文件輸出到標準輸出(可省略)exec:對查找到的文件執(zhí)行exec后的shell命令ok:對查找到的文件執(zhí)行ok后的shell命令,在每次執(zhí)行前將提示用戶是否執(zhí)行xargs:基本功能類似exec、ok5利用exec和ok參數處理查找到的文件時,存在一些缺陷:1、系統(tǒng)對參數exec、ok傳遞給shell命令的文件列表長度有一定的限制。當find命令查找到的文件數量很多時,會出現參數列表溢出錯誤。2、參數對find命令找到的每一個文件發(fā)起一個相應的處理進程,當find命令查找

3、到的文件數量很多時,可能會影響整個系統(tǒng)性能。6【用法示例】n按文件名稱查找find -name “1401.c”find . -name “1401.c”find . -name “1401.c” printfind / -name “sysconfig”find /etc -name “passwd”7n按文件權限查找(以便于發(fā)現可能導致泄密、不安全的內容等)find / -perm 664find / -prem 664 find.txt8n按文件的時間戳查找find -mtime +7n按文件屬主查找find /home -user xionggh9n使用exec、ok、xargs處理查

4、找到的文件命令格式如下:-exec shell命令 ;-ok shell命令 ;| xargs shell命令;find -name “tmp.c”-exec rm ;find -name “tmp.c”-ok rm ;find -name “tmp.c”| xargs rm;108.2 查找文本工具grep grep用于從命令輸出或文本文件中查找指定內容。【命令格式】ngrep option pattern file【常用選項】ni:忽略大小寫nn:將結果輸出的同時,也輸出該行的行號ns:在沒有查找到匹配到的內容時,不顯示錯誤信息nl:從多個文件中查找時,只輸出找到匹配內容的文件名稱nh:從

5、多個文件中查找時,只輸出匹配的內容,不顯示文件名稱nc:只輸出匹配內容的總行數nv:反轉查找,即輸出匹配內容以外的行11【用法示例】n在文件/etc/passwd中查找root用戶grep “root” /etc/passwdn在文件/student.c中查找出所有來自dali的學生grep -i“dali” /在文件/student.c中查找出所有來自dali以外的學生grep -iv“dali” /student.cfind /etc -name “*”|xargs grep root128.3 流編輯器sed sed(stream editor)是一種非交互式文本編輯器,是一個非常重要的

6、文本過濾工具,在編寫系統(tǒng)維護和管理的腳本時經常用到。 sed工作時,首先讀取文本中第1行,將其放入一個被稱為模式空間的臨時緩沖區(qū)內,然后再讀取第1條編輯指令,使用指令中定義的模式和行號查找、編輯文本。完成編輯后,將結果輸出并讀取下一行,重復這個過程直到文本結束?!久罡袷健縩sed option command file【常用選項】nn:不輸出所有行(默認情況是輸出所有行)13【常用的定位方式】 使用sed編輯文本時,應該向其指出要編輯的位置信息,通常使用一個行號或指定一個行號范圍,也可以使用正則表達式對要編輯的文本進行模式匹配nn:表示行號為n的行nm,n:從第m行到第n行nm,n?。号懦?/p>

7、m行到第n行n/pattern/:匹配pattern的所有行14【常用的編輯指令】 使用sed編輯文本時,使用編輯指令可以對文本執(zhí)行修改、刪除和替換等操作。np:將指定的行輸出到標準輸出nd:刪除指定的行natext:在指定行后面加入textnitext:在指定行前面加上textnctext:使用text替換指定行ns/pattern1/pattern2/g:將pattern1替換為pattern215【用法示例】n顯示行sed -n 2p /etc/passwdsed -n 2,6p /etc/passwdsed -n /root/p /etc/passwdsed -n /root/p /e

8、tc/passwd16n刪除行sed 1,4d /etc/passwdsed /root/d /etc/passwd17n插入格式如下:指定的行或模式aicThe first line.The second line.The last line.sed 1aThis is a new line. /etc/passwdsed iThis is a new line. /etc/passwd18n替換sed s/:/;/g/etc/passwdsed 1s/:/;/g/etc/passwdsed -n1s/:/;/g/etc/passwdsed -n1s/:/;/gp/etc/passwd198

9、.4 格式化文本數據抽取工具awk awk通常用于從格式化文本文件中抽取數據。格式化文本一般使用某個特定的字符(稱為域分隔符)將文本中不同的字段隔開。例如系統(tǒng)用戶信息文件/etc/passwd。【命令格式】nawk -F command file【常用選項】nF:用于指定域分隔符(默認情況下,域分隔符為空格)20【命令處理過程】 awk被調用后,首先讀入第1行文本并按選項F指定的域分隔符將各個字段劃開。以/etc/passwd第一行為例: root:x:0:0:root:/root:/bin/bash 處理這個文件時,應該使用選項F指定域分隔符為冒號“:”,劃分完成后將這一行稱為一條記錄。一條記錄中的各個字段按順序稱為域1、域2、域3,為方便對這些字段進行處理,使用標識符“$1”表示第1個字段,“$2”表示第2個字段依此類推。如果要表示整條記錄,使用標識符“$0”。21【模式和動作】 與sed命令一樣,模式用來指定動作執(zhí)行的文本位置。在awk中,模式可以是條件語句、模

溫馨提示

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

評論

0/150

提交評論