Linux文字處理相關命令
Linux有多個字符串處理指令,各有各的特殊用途,目前本人學過的指令有:
cut
用法:cut-d '分割字符(默認是TAB)'-f fields(number)
grep:
用法:grep-[acniv] '正則表達式'
-i: 忽略大小寫
-v:反向選擇
sort, wc, uniq
tr, col, join, paste,expand
tr:
用法:tr-[ds]
col,expand: 用於處理[Tab]
split: 切割文件
用法:split-[bl] filename
-b: 按照大小,後可接b/k/m
-l: 按照行數
e.g. split -b 200k ubuntu.iso
xargs 參數代換
e.g. find /sbin -perm+7000 | xargs -n1 ls -l
sed: 字符代換
e.g. sed's/^h.*o/world/g'
e.g. sed -n '1,3p'
diff: 按行比較ASCII文件
diff -[bBi] from-fileto-file
awk: 將每一行分段處理
awk '條件{動作}[條件{動作}]'file
關鍵字:NF, NR, FS, BEGIN, END
NF: 每一行的分段總數
NR: 當前行號
FS: 分隔符
e.g. echo $PATH | awk'BEGIN{FS=':'}{printf “%s\t”, $1}