1、刪除centos7系統/etc/grub2.cfg檔案中所有以空白開頭的行行首的空白字元
sed -r 's/^[[:blank:]]+//' /etc/grub2.cfg
-r表示支援擴充套件正規表示式,sed命令匹配空白開頭一次或者多次,替換為沒有,相當於刪除。
2、刪除/etc/fstab檔案中所有以#開頭,後面至少跟乙個空白字元的行的行首的#和空白字元
sed -r 's/^#[[:blank:]]+//'g /etc/fstab
^是首行錨定,以#開頭後面跟空白字元一次或者多次替換為空白,g代表匹配直到最後一行
3、在centos6系統/root/install.log每一行行首增加#號
sed -r 's/installing/i\#&/' /root/install.log
匹配「installing」詞,i是追加,&代表第乙個//中匹配到的詞,追加到#號後面,等於是每一行都追加#。
4、在/etc/fstab檔案中不以#開頭的行的行首增加#號
sed -r 's/^(^#*)/#/g' /etc/fstab
(^#*)代表以#號開頭後面是任意的檔名,/^(^#*)/代表變數裡面的內容取反。g是替換到最後一行。
5、處理/etc/fstab路徑,使用sed命令取出其目錄名和基名
取目錄名:echo "/etc/rc.d/testdir/test" | sed -r 's/^(\/.*\/)[^/]+\/?/\1/g'
或:|sed -r 's@(^/.*/).*@\1@'
sed -r 's@[^\/]+$@@'
取基名:echo "/etc/fstab/tesdir/test" |sed -r 's@^/.*/@@'
這次就沒讓大家進入目錄,此題考的是大家前幾節課講萬用字元"ls" 時候大家有沒有注意聽。提到過這個部分。
6、利用sed 取出ifconfig命令中本機的ipv4位址
centos6
ifconfig | sed -n '2p' | sed 's/^.*r://' | sed 's/ .*//'
ifconfig eth0 | sed -n '2p' | sed -r 's@^.*r:@@' | sed -r 's@[[:space:]].*@@'
centos7
ifconfig ens33 | sed -n '2p' | sed -r 's@^[[:space:]].*inet[[:space:]]@@' | sed -r 's@[[:space:]].*@@'
7、統計centos安裝光碟中package目錄下的所有rpm檔案的以.分隔倒數第二個欄位的重複次數
ls /media/packages/ | grep "rpm$" | sed -r 's@.*\.(.*)\.rpm@\1@' | sort | uniq -c
8、統計/etc/init.d/functions檔案中每個單詞的出現次數,並排序(用grep和sed兩種方法分別實現)
grep
grep -o "[[:alpha:]]*" /etc/init.d/functions | sort | uniq -c | sort -nr
sedsed -nr 's/[[:alpha:]]+/\n/g'p /etc/init.d/functions | sort | uniq -c | sort -nr
9、將文字檔案的n和n+1行合併為一行,n為奇數行
sed -n 'n;s/\n//'p /etc/passwd
第三週作業
實驗作業 1.輸入課本各個例題,除錯執行程式,並分析程式,將每乙個程式改寫2到3個版本,自己分析程式結果,然後再除錯執行,核對分析結果的對錯。2.編寫程式輸入乙個三角形的三條邊,計算其面積和周長 3.編寫程式計算並輸出課本本章習題3表示式的值並分析結果。4.編寫乙個程式,輸入乙個一元二次方程的三個係...
第三週作業
要求 1.輸入課本各個例題,除錯執行程式,並分析程式,將每乙個程式改寫2到3個版本,自己分析程式結果,然後再除錯執行,核對分析結果的對錯。2.編寫程式輸入乙個三角形的三條邊,計算其面積和周長 3.編寫程式計算並輸出課本本章習題3表示式的值並分析結果。4.編寫乙個程式,輸入乙個一元二次方程的三個係數,...
第三週作業
第一題 輸入課本各個例題,除錯執行程式,並分析程式。例1 include using namespace std int main 例8 includeusing namespace std int main else cout this is not a endl return 0 第三題 編寫程...