1.文本處理-echo
echo -e "\033[40;35m...."
背景顏色范圍:40--49
40:黑 41:深紅 42:綠
43:黃色 44:藍色 45:紫色
46:深綠 47:百色
字體顏色范圍:30-39
30:黑 31:紅 32:綠
33:黃 34:藍色 35:紫色
36:深綠 37:百色
eg:
echo -e "\033[40;35mhello word\033[0m"
2.文本處理-sort
sort [選項] 輸入文件
-o 輸出文件
-d 按字典順序排序
-n 按數字大小輸出
-r 按逆序輸出排序結果
-k 指定分類是域上得數子分類
-t 域分隔符;用非空格或tab鍵分隔域
eg:
sort -k3 -n -r -t: /etc/passwd|more
3.文本處理-diff
diff[選項] 文件/目錄 文件/目錄
diff /etc/passwd /etc/passwd.bak
-q 僅顯示有無差異,不顯示詳細的信息
-c 顯示全部內文,並標出不同之處
-b 不檢查空格字符的不同
-B 不檢查空白行
-r 比較子目錄中的文件
4.grep 選項
-n 在每行前顯示編號
應用實例
a.設置大小寫
#grep '[Tt]his' file1.txt
b.不匹配行首
#grep '^[^#]' file.txt //找出不是以#開頭的字符字符串
c.匹配任意字符
#grep "s...n" file3.txt
s123n true
s34n false
注意:三個點三個字符
d.-v
grep -v "hello" file
搜索不含有"hello" 字符串的行
5.sed操作動作
s 替代操作
i 插入命令
a 附加命令
d 刪除全部匹配的行
D 刪除全部匹配的行
eg:
#sed -n '1,4 p' /etc/passwd 打印/etc/passwd的1到4行
#sed '/80/D' file.txt 刪除全部匹配80的行
#sed 's/var/usr/g' file.txt 所有var用usr替換
#sed '50,$s/help/man/g' file.txt所有help用man替換
#sed "3i\\chengyaogen" log log文件的第三行前面插入chengyaogen
#sed "3a\\chengyaogen" log log文件的第三行後面插入chengyaogen
#sed "3d" log 刪除log文件的第三行
6.awk格式
awk [選項] 'awk腳本' 輸入文件
-F fs使用fs作為輸入記錄的字段分隔符
-f filename 從文件filename讀取awk_script
-v var=value 為awk_script設置變量
awk的內置變量
變量 功能 默認
FS 輸入字段分隔符 空格或tab
RS 輸入記錄分隔符 換行
OFS 輸出字段分隔符 空格或tab
ORS 輸出記錄分隔符 換行
NF 當前記錄非空字段的編號 $NF 最後一列
NR 從所有文件讀入的記錄號 $NR 對應的行號
應用實例
#awk -F : '{print NR,$1,$2}' /etc/passwd
輸出/etc/passwd的第一列、第二列並顯示對應的行號
#awk -F : '{print NR,$1,$NF}' /etc/passwd
輸出/etc/passwd的第一列,最後一列並顯示對應的行號
#awk -F : 'NR%10==5{print NR,$0}' /etc/passwd
輸出行號對10 求余為5的一整行信息
#awk -F : 'NR==8,NR==13{print NR,$0}' /etc/passwd
輸出行號[8,13]的行的信息
#awk -F : '{if($3>50){print $1}}' /etc/passwd