分类: LINUX
2005-08-25 16:49:05
sort
用途:對文字檔的列做排序
用法:
1. sort dataf4
結果:將 dataf4 做升冪排序
2. sort -r dataf4
結果:將 dataf4 做降冪排序
3. sort -n dataf4
結果:將 dataf4 做升冪排序,但以字串的數值大小為比較的標準
4. sort -n +2 dataf3
結果:跳過前二欄,以 dataf3 中的第三欄做排序,且以字串的數值大小為比較的標準
5. sort -nr +2 -t: /etc/passwd
結果:-t: 是說改用 : 為分隔符號,+2 是說跳過前二欄,以 /etc/passwd 中的第三欄做降序排序,且 -n 指示 sort 以字串的數值大小為比較的標準,-r 是降冪排列
6.其它進一步的用法,請 man sort 查閱線上文件。
uniq
用途:對已排序好的檔案刪除重覆列
用法:
1. uniq dataf3
結果:若重覆列並未連續擺在一起, 則不會有任何作用
2. sort dataf3 | uniq
結果:刪除 dataf3 檔中的重覆列
3. sort dataf3 | uniq -d
結果:挑出重覆列
4.sort dataf3 | uniq -c
結果:計算每一列的重覆數目
5.其它進一步的用法,請 man uniq 查閱線上文件。
cut
用途:對檔案的每一列抽出某一部份
用法:
1.cut -c2 dataf1
結果:抽出 dataf1 中每一列的第 2 個字元
2.cut -c3-10 dataf1
結果:抽出 dataf1 中每一列的第 3 到第 10 個字元
3.cut -c9- dataf1
結果:抽出 dataf1 中每一列的第 9 以後的字元
4.cut -c1-3,22- dataf1
結果:抽出 dataf1 中每一列的第 1 到第 3 個字元、以及第 22 個以後的的字元
5. cut -d: -f1 /etc/passwd
結果:抽出 /etc/passwd 中的第一欄位,-d: 指示 cut 改用 : 為分隔符號,-f1 是第一欄之意
上述指令可拿來找出所有系統的帳號名稱
6.cut -d: -f3,4 /etc/passwd
結果:抽出 /etc/passwd 中的第3,4欄位
7.其它進一步的用法,請 man cut 查閱線上文件。
paste
用途:對檔案以列和列合併
用法:
1.paste dataf1 dataf2
結果:dataf1 的每一列 和 dataf2 的每一列合併,預設以 TAB 分隔
2.paste -d'#' dataf1 dataf2
結果:dataf1 的每一列 和 dataf2 的每一列合併,以 # 分隔
3.paste -s dataf4
結果:dataf4 的每一列自己合併在一起 (-s : same file),預設以 TAB 分隔
4.其它進一步的用法,請 man paste 查閱線上文件。
tr
用途:轉換或刪除字元
用法:
1.tr k K < dataf1
結果:dataf1 的 k 換成 K 字元
2. tr ',' '
' < ttt
結果:ttt 的 , 號換成 換行字元(
)
3.tr -d k
結果:k 字元全刪除
4.cut -d: -f1-6 /etc/passwd | tr : '+'
結果:將 passwd 的六個欄改以 + 分隔
5.tr '[A-Z]' '[a-z]' < dataf1
結果:將大寫全換成小寫字母
6.tr '[a-z]' '[A-Z]' < dataf1
結果:將小寫全換成大寫字母
7.tr -s ' ' ' ' < dataf1
結果:將多餘的空白移除只剩一個 (-s 是壓擠的意思)
8.其它進一步的用法,請 man tr 查閱線上文件。