一.grep命令常用引數
(1)-a num
#grep -a 1 aa test.txt
說明:從test.txt中搜尋有aa樣式的行,並顯示該行的後1行
(2)-b num
#grep -b 1 aa test.txt
說明:從test.txt中搜尋有aa樣式的行,並顯示該行的前1行
(3) -c num
#grep -c 2 aa test.txt
說明:列出file中除包含panda樣式的行外並列出其上下2行
(4) -a或--test
#grep -a aa *.tar.gz
說明:如果不加-a,找到後,一般會顯示「匹配到二進位制檔案 tp_smapi-0.40.tgz」,找不到
不顯示任何內容。加-a後,可將二進位檔案視為文字檔案搜尋,找到後,可以顯示亂碼等。
(5)-b, --byte-offset
#grep -b aa test.txt
說明:列出樣式查詢到的位置到檔案開始有多少個位元組(也可以認為是偏移)
(6)--binary-files=type
說明: 此引數type預設為binary(二進位),若以普通方式搜尋,只有2種結果:
*若有符合的地方:顯示binary file 二進位檔名 matches
*若沒有符合的地方:什麼都沒有顯示。
*若type為without-match,遇到此引數,grep會認為此二進位檔案沒有
包含任何搜尋樣式,與-i 引數相同。
*若tpye為text, grep會將此二進位檔視為text檔案,與-a 引數相同。
注意: --binary-files=text 若輸出為終端機,可能會產生一些不必要的輸出
(7) -c 或--count
#grep -c aa test.txt
說明:顯示匹配到的總行數
(8)-d action, --directories=action
grep -d recurse aa *
說明:將遞迴查詢包含aa的檔案
若輸入的檔案是乙個資料夾,使用action去處理這個資料夾。action可以為以下幾種值
*預設action是read(讀取),也就是說此資料夾會被視為一般的檔案;
*若action是skip(略過),資料夾會被grep略過:
*若action是recurse(遞),grep會去讀取資料夾下所有的檔案,
此相當於-r 引數。
(9) -e, --extended-regexp
說明:採用規則表示式去解釋樣式。
(10) -e pattern, --regexp=pattern
把樣式做為乙個partern,通常用在避免partern用-開始
(11) -f file, --file=file
事先將要搜尋的樣式寫入到乙個檔案,一行乙個樣式。
然後採用檔案搜尋。
空的檔案表示沒有要搜尋的樣式,因此也就不會有任何符合。
ex: (newfile為搜尋樣式檔)
$grep -f newfile file
(12). -g, --basic-regexp
將樣式視為基本的規則表示式解釋。(此為預設)
(13). -h, --with-filename
在每個符合樣式行前加上符合的檔名稱,若有路徑會顯示路徑。
ex: (在file與testfile中搜尋panda樣式)
$grep -h panda file ./testfile
file:panda
./testfile:panda
$(14). -h, --no-filename
與-h引數相類似,但在輸出時不顯示路徑。
(15). -i
grep會強制認為此二進位檔案沒有包含任何搜尋樣式,
與--binary-files=without-match引數相同。
ex: $ grep -i panda mv
(16). -i, --ignore-case
忽略大小寫,包含要搜尋的樣式及被搜尋的檔案。
ex: $ grep -i panda mv
(17). -l, --files-without-match
不顯示平常一般的輸出結果,反而顯示出沒有符合的檔名稱。
(18). -l, --files-with-matches
不顯示平常一般的輸出結果,只顯示符合的檔名稱。
(19). --mmap
如果可能,使用mmap系統呼叫去讀取輸入,而不是預設的read系統呼叫。
在某些狀況,--mmap 能產生較好的效能。 然而,--mmap
如果運作中檔案縮短,或i/o 錯誤發生時,
可能造成未定義的行為(包含core dump),。
(20). -n, --line-number
在顯示行前,標上行號。
ex: $ grep -n panda file
顯示結果相似於下:
行號:符合行的內容
(21). -q, --quiet, --silent
不顯示任何的一般輸出。請參閱-s或--no-messages
(22). -r, --recursive
遞地,讀取每個資料夾下的所有檔案,此相當於 -d recsuse 引數。
(23). -s, --no-messages
不顯示關於不存在或無法讀取的錯誤訊息。
小: 不像gnu grep,傳統的grep不符合posix.2協定,
因為缺乏-q引數,且他的-s 引數表現像gnu grep的 -q 引數。
shell script傾向將傳統的grep移植,避開-q及-s引數,
且將輸出限制到/dev/null。
posix: 定義unix及unix-like系統需要提供的功能。
(24). -v, --version
顯示出grep的版本號到標準錯誤。
當您在回報有關grep的bugs時,grep版本號是必須要包含在內的。
(25). -v, --invert-match
顯示除搜尋樣式行之外的全部。
(26). -w, --word-regexp
將搜尋樣式視為乙個字去搜尋,完全符合該"字"的行才會被列出。
(27). -x, --line-regexp
將搜尋樣式視為一行去搜尋,完全符合該"行"的行才會被列出
Linux命令系列之htpasswd
htpasswd命令是apache的web伺服器內建工具,用於建立和更新儲存使用者名稱 域和使用者基本認證的密碼檔案。c 建立乙個加密檔案 n 不更新加密檔案,只將加密後的使用者名稱密碼顯示在螢幕上 m 預設採用md5演算法對密碼進行加密 d 採用crypt演算法對密碼進行加密 p 不對密碼進行進行...
linux 命令系列之關機命令(13)
shutdown 關機 重啟命令 h 關機 shutdown h 時間 eg shutdown h now shutdown h 20 20 r 重啟 shutdown r 時間 eg shutdown r now shutdown r 20 20 c 取消關機操作 其它關機命令 init 0,po...
linux 命令系列之目錄處理命令(2)
mkdir make directories 建立資料夾 p 建立遞迴資料夾 eg mkdir p tmp test linux aaa 建立多個資料夾 eg mkdir tmp test1 tmp test2 tmp test3 cd change directory 切換目錄 eg cd tmp...