第二章 變數和運算符
1、set 為本地變數
2、readonly 變數 設置為只讀變數
readonly 變數不能unset
Ø 環境變數用於所有用戶進程(經常稱了為進行).登錄進程稱為父進程.
Shell中執行的用戶進程均稱為子進程.不像本地變數(只用於現在的shelll)環境變數可用於所有子進程,這包括編輯器、腳本和應用.Ø $HOME/.bash_profile (/etc/profile)
Ø Export
Ø Env
$(Variable name) | 顯示實際值 |
$(Variable name: value) | 如果設置了name,則顯示毀value否則為空 |
$(Variable name:?value) | 如果未設置name,則顯示用戶定義value |
$(Variable name:-value) | 如果未設置name,則顯示其值value |
$(Variable name:=value) | 如果未設置name,設置其值,並顯示 |
5.2基本元字符集及其含義
字元 | 含義 |
^ | 只匹配行首 |
$ | 只匹配行尾 |
* | 匹配0個或多個此單字元 |
[] | 只匹配[]內字元.可以是一個單字元,也可以是字元序列.可以使用-表示[]內字元序列範圍,如用[1-5]代替[12345] |
\ | 只用來屏蔽一個元字元的特殊含義 |
. | 只匹配任意單字元 |
Pattern\{n\} | 只用來匹配前面pattern出現次數.n為次數. |
Pattern\{n,\} | 含義同上,但次數最少為n |
Pattern\{n,m\} | 含義同上,但pattern出現次數在n與m之間 |
第五章
46:26
5.13 grep介紹
Ø Grep是
unix和LINUX中使用最廣泛的命令之一Ø 對文本文件進行模式查找
Ø Grep有三種變形
n Grep:標準grep命令
n Egrep:擴展
grep,支持基本及擴展的正則表達式n Fgrep:快速grep
Ø Grep一般格式為:
n grep [選項]基本正則表達式[文件]
n 字元串參數最好採用雙引號括起來,一是以防被誤解為
shell命令,二是可以用來查找多個單片語成的字元串.Grep命令選項
Ø -c 只輸出匹配行的計數
Ø -i 不區分大小寫(只適用於單字元)
Ø -h 查詢多文件時不顯示文件名
Ø -H 顯示文件名.
Ø -l 查詢多文件時只輸出包含匹配字元的文件名.
Ø -n 顯示匹配行及行號
Ø -s 不顯示不存在或無匹配文本的錯誤信息
Ø -v 顯示不包含匹配文本的所有行
grep 命令類名
類 | 等價的正則表達式 |
[[:upper:]] | [A-Z] |
[[:alnum:]] | [0 |
[[:lower:]] | [a-z] |
[[:space:]] | 空格或tab鍵 |
[[:digit:]] | [0-9] |
[[:alpha:]] | [a-zA-Z] |
5.14 awk介紹
Ø 可從文件或字元串中基於指定規則瀏覽和抽取信息
Ø 是一種自解釋的編程語言
Ø 三種方式調用awk:
n 使用行方式: awk [-F filed-spearator] `command` input-file
n awk腳本: 所有awk命令插入一個文件,並使
awk程序可執行,然後用awk命令解釋器作為腳本的首行,以便通過鍵入腳本名稱來調用它.n awk命令插入一個單獨文件
awk –f awk-script-file input-file
Ø awk 腳本由各種操作和模式組成
Ø 模式和動作
n
模式部分決定動作語句何時觸發及觸發事件.(BEGIN,END)n 動作對數據進行處理,放在大括弧{}內指明.(print)
Ø 分割符、域和記錄
n awk執行時,其瀏覽域標記為$1,$2,….$n.這種方法稱為域標識.
$0為所有域.n 注意執行時不要混淆符號 $ 和shell提示符 $ ,它們是不同的.
Ø 花樣百出
例:
awk –F “:” ‘{print $1 “ home dictionary is ” $6 }’ passwd
awk –F “:” ‘BEGIN {print “User\t\tHOme Dictionary\n------------------------------------”}
{print $ü awk中的特殊元字元: ,?
ü 匹配操作符:~,!~
ü cat score.txt | awk ‘$0 ~ /218.79.131.96/’
ü
awk ‘$0 ~ /218.79.131.96/’ score.txtü awk ‘{if($1==”218.79.
ü man awk
[火星人 ] linux筆記(grep awk)已經有491次圍觀