linux命令之匹配與排序

2021-10-04 11:05:21 字數 3043 閱讀 8653

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 個字元以後的內容不作對照

Linux基礎 grep匹配命令

正則就是有一定規律的字串,不僅可以使用命令列工具grep,sed,awk egrep去引用正則,還可以把正則嵌入到 nginx,apache,甚至php,python中。特殊符號 grep,主要用來過濾出指定的行。指定的條件,用正規表示式。1 語法選項 grep civnabc word filen...

Linux 內容查詢匹配命令

grep 適合單純的查詢或匹配文字 語法grep abcefghhillnqrsvvwxy a 顯示列數 b 顯示列數 c 顯示列數 d 進行動作 e 範本樣式 f 範本檔案 help 範本樣式 檔案或目錄.引數說明 用法1 在當前目錄中,查詢字尾有 file 字樣的檔案中包含 test 字串的行 ...

nodejs使用及與之匹配的dos命令

nodejs使用及與之匹配的dos命令 在js中輸入 console.log hello word 然後在dos命令視窗進入該目錄 輸入 node 檔名 就可以了 建立伺服器 var http require http 建立乙個變數引用nodejs提供的http服務 request,response...