grep
功能:從文件或者命令輸出內容中查找滿足條件的數據。
grep命令用於查找內容包含指定的樣式的文件,如果發現某個文件的內容符合你所要查找的範本樣式,grep命令將會顯示含有範本樣式的那一行。
如果不指定任何文件名稱(或者是歸於的文件名爲-)則grep命令會從便準輸入設備讀取數據。
命令的一般格式
grep 參數/選項 文件名
grep的一些常用選項
-E: 開啓擴展的正則表達式
-F: 將範本樣式看成是單純的字符串
-n: 在輸出包的內容的行的前面,加上該行的行號
-r: 以遞歸的方式查詢該目錄下所有子目錄中的文件
-c: 只顯示文件中包含範本樣式的總數
-i: 匹配比較的時候不區分字母的大小寫
-b: 在輸出的每行前面顯示包含範本樣式的行在文件中的位置,用字節偏移量來表示
注意:egrep和fgrep與其相似
在/etc/passwd查找包含“wlw”的所有行
grep wlw /etc/passwd
find
功能:在指定的目錄中搜索滿足查詢條件的文件,然後執行指定的操作。
find從左向右分析各個參數,然後搜索指定目錄。find會將"_","(",")","!"前面的字符串視爲搜索的文件,在這些符號後面的字符串爲參數選項。如果沒有設置目錄,find會直接搜索當前目錄;如果沒有設置參數選項,find默認使用-print選項。
命令的一般格式:
find 指定目錄 表達式
表達式:選項、參數和操作3部分組成,分別由運算符隔開
find的一些常用選項:
-maxdepth level:從指定目錄往下搜level層。如果level爲0的話,就表示只搜索當前目錄
-mindepth level:對於小於level的級別不做任何測試和操作。
-mount:僅僅搜索相同文件系統的子目錄
測試時指定的數字參數
+n:表示大於大小爲n的文件
-n:表示小於大小爲n的文件
n: 表示等於大小爲n的文件
-amin n: 查找n分鐘以前被訪問過的所有文件
-cmin n:查找n分鐘以前文件狀態被修改過的所有文件
-mmin n:查找n分鐘以前文件內容被修改過的所有文件
-atime n: 查找n天以前被訪問過的所有文件
-ctime n: 查找n天以前文件狀態被修改過的所有文件
-group '用戶組名':查找屬於指定用戶的所有文件
-user '用戶名': 查找屬於指定用戶的所有文件
操作命令含義
-ok 命令名{}/-exec 命令名{}: 對符合條件的文件執行由“命令名”指定的linux命令。-ok它會詢問用戶是否要執行此命令,而-exec則不詢問。
-ls:會列出所有找到的文件
-fprint 文件名1:將所有找到文件的名字存放在“文件名1”文件中。如果該文件不存在的話,它就以此名創建一個新文件。
運算符含義
(表達式): 優先執行該表達式
!(表達式)/-not 表達式: 如果表達式爲真,則!表達式/not 表達式爲假。
表達式1 表達式2/表達式1 -a 表達式2:
這是“與”關係,就是如果表達式1爲假,則不計算表達式2
表達式1 -o 表達式2:
這是“或”關係,就是如果表達式1爲真,則不計算表達式2
sort
功能:用於對文本文件的各行進行排序。
將逐行對指定文件中的所有行進行排序,並且將排序結果顯示在標準輸出上。如果不指定文件名字或者使用-表示文件,排序內容則來自標準輸入。
使用的一般格式:
sort 【選項/參數】 【 文件列表】
sort的常用選項:
-b: 忽略每行前面最開始的空格符號
-m: 如果文件列表中的文件已經排好序,就會對這些文件統一進行合併,並不做排序
-r: 逆序排序
-o: 將文件排序輸出放到指定的文件中。如果指定的文件不存在,則創建一個新的文件。
-c: 檢查文件是否已經按照順序排序
-f: 排序時候,將小寫字母視爲大寫字母,忽略字母大小寫。
-M: 將前面的三個字母按照月份的縮寫進行排序
-k: 指定需要排序的列
-t: 指定欄位分隔符號爲:
-u: 忽略重複行/忽略相同的行
uniq
功能:用於顯示文件中所有不重複的行
用於讀取輸入文件,並比較相鄰的行,去掉重複的行,只留下其中一行。將加工後的結果存儲放在輸出文件中。
命令的一般格式:
uniq 【選項】 文件
uniq的常用選項:
-c: 顯示輸出時,在每行的行首加上該行在文件中出現的次數
-d: 只顯示重複行
-f: 忽略比較指定的欄位
-s: 忽略比較指定的字符
-u: 僅顯示出現一次的行列
-w: 對每行第N 個字符以後的內容不作對照