linux命令的進階學習,確定離不開傳說中的linux命令三劍客——
grep
(global search regular expression and print out the line)、awk
(取了三位創始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符)、sed
(stream editor(流式編輯器)html
本文旨在記錄命令的基本知識,關於實際的應用,可參考【Linux命令】在當前目錄下查找出現特定字符串的文件位置信息linux
grep 命令用於查找文件裏符合條件的字符串正則表達式
grep [-abcEFGhHilLnqrsvVwxy][-A<顯示行數>][-B<顯示列數>][-C<顯示列數>][-d<進行動做>][-e<範本樣式>][-f<範本文件>][--help][範本樣式][文件或目錄...]
-a 或 --text
不要忽略二進制的數據。express-A<顯示行數> 或 --after-context=<顯示行數> :
除了顯示符合範本樣式的那一列以外,並顯示該行以後的內容。編輯器-b 或 --byte-offset
在顯示符合樣式的那一行以前,標示出該行第一個字符的編號。函數-B<顯示行數> 或 --before-context=<顯示行數>
除了顯示符合樣式的那一行以外,並顯示該行以前的內容。工具-c 或 --count
計算符合樣式的列數。學習-C<顯示行數> 或 --context=<顯示行數>或-<顯示行數>
除了顯示符合樣式的那一行以外,並顯示該行以前後的內容。ui-d <動做> 或 --directories=<動做>
當指定要查找的是目錄而非文件時,必須使用這項參數,不然grep指令將回報信息並中止動做。unix-e<範本樣式> 或 --regexp=<範本樣式>
指定字符串作爲查找文件內容的樣式。-E 或 --extended-regexp
將樣式爲延伸的正則表達式來使用。-f<規則文件> 或 --file=<規則文件>
指定規則文件,其內容含有一個或多個規則樣式,讓grep查找符合規則條件的文件內容,格式爲每行一個規則樣式。-F 或 --fixed-regexp
將樣式視爲固定字符串的列表。-G 或 --basic-regexp
將樣式視爲普通的表示法來使用。-h 或 --no-filename
在顯示符合樣式的那一行以前,不標示該行所屬的文件名稱。-H 或 --with-filename
在顯示符合樣式的那一行以前,表示該行所屬的文件名稱。-i 或 --ignore-case
忽略字符大小寫的差異。-l 或 --file-with-matches
列出文件內容符合指定的樣式的文件名稱。-L 或 --files-without-match
列出文件內容不符合指定的樣式的文件名稱。-n 或 --line-number
在顯示符合樣式的那一行以前,標示出該行的列數編號。-o 或 --only-matching
只顯示匹配PATTERN 部分。-q 或 --quiet或--silent
不顯示任何信息。-r 或 --recursive
此參數的效果和指定"-d recurse"參數相同。-s 或 --no-messages
不顯示錯誤信息。-v 或 --invert-match
顯示不包含匹配文本的全部行。-V 或 --version
顯示版本信息。-w 或 --word-regexp
只顯示全字符合的列。-x --line-regexp
只顯示全列符合的列。-y :
此參數的效果和指定"-i"參數相同。
awk 是一個處理文本文件的的強大工具,主要用於文本分析
awk [選項參數] 'script' var=value file(s) 或 awk [選項參數] -f scriptfile var=value file(s)
-F fs or --field-separator fs
指定輸入文件折分隔符,fs是一個字符串或者是一個正則表達式,如-F:。-v var=value or --asign var=value
賦值一個用戶定義變量。-f scripfile or --file scriptfile
從腳本文件中讀取awk命令。-mf nnn and -mr nnn
對nnn值設置內在限制,-mf選項限制分配給nnn的最大塊數目;-mr選項限制記錄的最大數目。這兩個功能是Bell實驗室版awk的擴展功能,在標準awk中不適用。-W compact or --compat, -W traditional or --traditional
在兼容模式下運行awk。因此gawk的行爲和標準的awk徹底同樣,全部的awk擴展都被忽略。-W copyleft or --copyleft, -W copyright or --copyright
打印簡短的版權信息。-W help or --help, -W usage or --usage
打印所有awk選項和每一個選項的簡短說明。-W lint or --lint
打印不能向傳統unix平臺移植的結構的警告。-W lint-old or --lint-old
打印關於不能向傳統unix平臺移植的結構的警告。-W posix
打開兼容模式。但有如下限制,不識別:/x、函數關鍵字、func、換碼序列以及當fs是一個空格時,將新行做爲一個域分隔符;操做符和=不能代替和=;fflush無效。-W re-interval or --re-inerval
容許間隔正則表達式的使用,參考(grep中的Posix字符類),如括號表達式[[:alpha:]]。-W source program-text or --source program-text
使用program-text做爲源代碼,可與-f命令混用。-W version or --version
打印bug報告信息的版本。
sed 是利用腳本處理、編輯文本文件
sed [-hnV][-e<script>][-f<script文件>][文本文件]
-e [script] 或--expression=[script]
以選項中指定的script來處理輸入的文本文件。-f [script文件]或--file=[script文件]
以選項中指定的script文件來處理輸入的文本文件。-h或--help
顯示幫助。-n或--quiet或--silent
僅顯示script處理後的結果。-V或--version 顯示版本信息。