sed與grep比較,sed能實現grep功能,但是比較麻煩,而且沒有顏色顯示;sed優勢在於替換一些指定的字元。
sed -n '1,$'p passwd.bak,全部列印出來
sed -e用法,在一行裡執行多條命令
sed -e '1'p -e '/root/'p -n passwd.bak,先列印第一行,然後再匹配含有root的行
sed -e '1'p -e '/root/'p -e '/oo*/'p -n passwd.bak ,執行多條命令
sed -n '/bus/'ip passwd.bak,匹配不區分大小寫
sed刪除指定的行
sed '1,20'd passwd.bak,刪除列印出來的1-20行,實際上並沒有刪掉檔案內容
sed -r 's/([^:]+):(.*):([^:]+)/\3:\2:\1/' passwd.bak |head,替換每行第一段和最後一段字串的位置,以冒號為參考物件,小括號裡的內容用\1、\2、\3表示
sed 's/\/root/123/g' passwd.bak |head,將/root替換成123,要用脫義符號\
sed -r 's/(.*)/aaa:&/' ,在所有行前面加上固定字串,&表示前面小括號內的內容
awk兼具sed的所有功能,而且還支援分段
-f作用是指定分隔符
列印檔案的全部內容awk '' 1.txt,不需要加f
awk如果不指定分隔符,則預設空格或空白為分隔符
列印多段內容awk -f ':' '' 1.txt
列印內容可以指定#來分割,需要用到雙引號
wk -f ':' '$1 ~ /o+/' test.txt ,匹配第一段中包含o的行,支援正規表示式;這裡需要知道,出現特殊符號時,awk不用加脫義字元,grep和sed則必須要加脫義字元
awk -f ':' '$3==0' 1.txt ,匹配第3段等於0的;
awk -f ':' '$3==0 ' 1.txt //匹配第3段等於0的,並列印第1段;
awk -f ':' '$3>=1000' 1.txt //匹配第3段大於等於1000的,並列印所有段
awk -f ':' '$7!="/sbin/nologin" ' 1.txt ,匹配出第7段不是/sbin/nologin的所有段,!=表示不匹配
常用的變數有ofs、nf和nr,ofs與-f選項有類似的功能,用來定義分隔符,但是在輸出時定義
架構師要求比較高,知識面要廣。
第十三課堂作業
作業1 輸入乙個字串和乙個正整數m 將該字串中的前 m個字元複製到另乙個字串中,再輸出後乙個字串。我的程式 include void main char s 100 int i,m printf enter a string gets s printf enter an integer scanf ...
第十三課 模組
第十三課 模組 在python中,乙個py檔案就是乙個模組,檔名為 py模組名則是 匯入模組可以引用模組中已經寫好的功能。1.import語句 檔名 foo.py x 1def get print x def change global x x 0要想在另外乙個py檔案中引用foo.py中的功能,需...
python第十三課
迭代器 l 1,2,3 索引 迴圈 for for i in l i for k in dic pass enumerate print dir 告訴我列表擁有的所有方法 print dir 告訴我列表擁有的所有方法 print dir 告訴我列表擁有的所有方法 print dir range 10...