三、awk
global regular expression print,表示全域性正規表示式版本。grep 命令用於查詢檔案裡符合條件的字串的一列。若不指定任何檔名稱,或是所給予的檔名為 -,則 grep 指令會從標準輸入裝置讀取資料。
1、查詢時不區分字串的大小寫
grep -i $
2、查詢時使用正規表示式,匹配符合的字串
grep -e $
3、查詢不匹配指定字串的行:
grep -v $
4、查詢時顯示被查詢字串所在的行數
grep -n $
5、其他
-q 或 --quiet或--silent : 不顯示任何資訊。
-w 或 --word-regexp : 只顯示全字符合的列。
5、其他
-c 《顯示符合條件的個數》
-c 《顯示行數》 或 --context=《顯示行數》或-《顯示行數》 : 除了顯示符合樣式的那一行之外,並顯示該行之前後的內容。
-d 《動作》 或 --directories=《動作》 : 當指定要查詢的是目錄而非檔案時,必須使用這項引數,否則grep指令將回報資訊並停止動作。
-r 《遞迴查詢目錄》
-f 《規則檔案》 --file=《規則檔案》 #指定規則檔案,其內容含有乙個或多個規則樣式,讓grep查詢符合規則條件的檔案內容,格式為每行乙個規則樣式。
參考文章
用於在檔案樹中(目錄結構下)查詢檔案,並作出相應的處理 。
-amin n 查詢系統中最後n分鐘訪問的檔案
-atime n 查詢系統中最後n*24小時訪問的檔案
-cmin n 查詢系統中最後n分鐘被改變檔案狀態的檔案
-ctime n 查詢系統中最後n*24小時被改變檔案狀態的檔案
-mmin n 查詢系統中最後n分鐘被改變檔案資料的檔案
-mtime n 查詢系統中最後n*24小時被改變檔案資料的檔案
根據關鍵字查詢
# 在當前目錄查詢以.log結尾的普通檔案,並排序
find
. -type f -name "*.log"
|sort
按照目錄或檔案的許可權來查詢檔案
# 查詢opt下查詢許可權為777,大小大於1k的檔案
find /opt/ -size +1000c -perm 777
find命令將所有匹配到的檔案,以{}
表示,一起傳遞給exec執行。
-exec
引數後面跟的是command命令,它的終止是以;
為結束標誌的,考慮到各個系統中分號會有不同的意義,前面加反斜槓\
。
在目錄中查詢更改時間在n日以前的檔案並刪除它們
find
. -type f -mtime +14 -exec rm
\;
在shell中用任何方式刪除檔案之前,應當先檢視相應的檔案,建議使用-exec
的安全模式-ok
。
查詢檔案移動到指定目錄
find
. -name "*.log" -exec mv
/home/logs \;
-exec中使用grep命令
find /etc -name "account*" -exec grep
"username"
\;
查詢檔案名包含「account」中,匹配「root」欄位的行。
有些系統對能夠傳遞給exec的命令長度有限制,容易出現溢位錯誤。錯誤資訊通常是「引數列太長」或「引數列溢位」。使用 -exec 選項會為處理每乙個匹配到的檔案而發起乙個相應的程序,並非將匹配到的檔案全部作為引數一次執行,效率不高。
而使用 xargs 命令則只有乙個程序,是否分批獲取引數視情況而定。
查詢系統中的每乙個普通檔案,然後使用xargs命令來測試它們分別屬於哪類檔案
# 顯示為:
# ./log2013.log: empty
# ./log2012.log: ascii text
find
. -type f |
xargs
file
在整個系統中查詢記憶體資訊轉儲檔案(core dump) ,然後把結果儲存到/tmp/core.log 檔案中
find / -name "core" -print |
xargs
echo
"">/tmp/core.log
在當前目錄下查詢所有使用者具有讀、寫和執行許可權的檔案,並收回相應的寫許可權·
find
. -perm -7 -print |
xargs
chmod o-w
awk工作流程是這樣的:讀入有』\n』換行符分割的一條記錄,然後將記錄按指定的域分隔符劃分域,填充域,$0
則表示所有域,$1
表示第乙個域,$n
表示第n個域。nf
表示的是瀏覽記錄的域的個數,$nf
表示的最後乙個field(列),即輸出最後乙個欄位的內容預設域分隔符是"空白鍵" 或 「[tab]鍵」。
|awk -f "/"
''
linux中的查詢
無論在哪個作業系統,查詢都是常用操作,本文說一下linux中的查詢。1.find find最常用,引數也一大把,舉個最常用的 find type f name c exec grep l 這個就是在當前目錄 查詢所有含有 字串的c程式原始檔,通過這個例子,大家應該會用了。find功能很強大,有興趣自...
Linux中的查詢命令
1 which cmd shows the full path of shell commands 顯示某個命令的完整路徑 例如 which touch 輸出 bin touch 2 whereis 選項 檔名 locates source binary and manual sections fo...
linux中的查詢命令
file 檔名 顯示的資訊很多,包括檔案的型別,suid許可權,相容平台等 find,對硬碟進行搜尋,慢而且影響硬碟效能 1 與時間有關的引數 共有 atime ctime mtime find mtime 0,意思就是找出根目錄下今天往前數24個小時內被修改的檔案 mtime n n 為數字,意義...