#############################
#### unit6.shell腳本命令 ####
#############################
###########1.diff###########
diff file file1 ##比較兩個文件的不同
-c ##顯示周圍的行
-u ##按照統一格式輸出生成補丁
-r ##比較兩個目錄中文件的不同
patch file file.patch ##打補丁
-b ##備份原文件
#########2.grep##########
grep 關鍵字
grep -i ##忽略大小寫
-n ##顯示關鍵字在其文件所在的行號
-c ##顯示過濾結果的個數
-v ##反向過濾(即顯示不包含該關鍵字的行)
-E "關鍵字1|關鍵字2" ##過濾多個關鍵字
-r 目錄 ##在目錄中查找含有關鍵字的文件(遞歸式搜索,從命名目錄開始)
注意: ^關鍵字 ##以關鍵字開頭
關鍵字$ ##以關鍵字結尾
eg.grep root -r /etc/ -n ##遞歸式搜索/etc/下的含有root的目錄和文件,並顯示root在文件中的行號
#########3.cut##########
cut ##截取字符
cut -d 分隔符 ##指定分隔符
cut -f 1,7 ##顯示指定的列
cut -c 1-4 ##顯示指定的字符
eg.只顯示ifconfig中的ip地址信息
[root@localhost /]# ifconfig eth0 | grep inet |grep -v inet6| cut -d " " -f 10
inet 172.25.254.119
[root@localhost /]# ifconfig eth0 | grep inet |grep -v inet6| awk -F " " '{print $1,$2}'
inet 172.25.254.119
##awk的-F表示指定分隔符
########4.sort排序########
sort ##默認只按第一個字符排序
-n ##純數字排序
-u ##去除冗餘
|uniq -c ##去除冗餘並統計冗餘的個數
-t ##指定分隔符
-k ##指定列
eg:
[root@localhost mnt]# sort -t ":" -k 2 -n file
a:1
a:2
a:2
a:3
a:4
a:5
a:5
a:6
a:6
a:7
########5.uniq#######
sort file |uniq -c ##去冗餘並統計冗餘次數
-d ##顯示冗餘行
-u ##顯示唯一行
#######6.tr#######
#######7.sed######
sed 's/原字符/替換字符/g' file ##替換文件中的字符
sed -e '策略1' -e '策略2' file ##執行多個策略(這個策略就是's/原字符/替換字符/g')
sed -i file ##把轉換後的內容輸出到指定文件
sed '3,5s/原字符/替換字符/g' file ##把3-5行替換
sed xd file ##屏蔽指定行(eg.sed 5d passwd)
sed xp file ##複製指定行(eg.sed 5p passwd)
sed -n xp file ##只顯示指定行(eg.sed -n 5p passwd)
注意:當要執行顯示多個指定行時,命令格式爲sed -ne xp -ne xp
eg:sed -ne 5p -ne 7p file
#########8.awk##########