8 21第十三課課堂筆記

2021-08-25 11:58:42 字數 1212 閱讀 2173

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...