1. 程式人生 > 實用技巧 >Linux 字元處理命令

Linux 字元處理命令



排序-sort


sort [選項] [檔案]
什麼都不加,預設按照首字母排序,預設以空格為分隔符。

-t		指定分隔符,預設使用空格為分隔符。
-k		指定第幾列。
[root@oldboy ~]# cat sort.log |sort -t'.' -k2
218.65.30.124 17163
218.65.30.126 17163
218.65.30.25 68652
218.65.30.53 34326
218.65.30.61 17163
112.85.42.103 18065
112.85.42.99 17164
218.87.109.150 17163
218.87.109.151 17163
218.87.109.154 21201

-n		按照阿拉伯數字排序,預設按照字母的首個字元排序。
-r		反轉
[root@oldboy ~]# cat sort.log |sort -t' ' -k2 -nr
218.65.30.25 68652
218.65.30.53 34326
218.87.109.154 21201
112.85.42.103 18065
112.85.42.99 17164
218.87.109.151 17163
218.87.109.150 17163
218.65.30.61 17163
218.65.30.126 17163
218.65.30.124 17163


去重-uniq


uniq 選項 檔案
作用:去重,只能把相鄰的相同的內容去重。
-c		統計

[root@oldboy ~]# cat sort1.txt |sort|uniq -c
      2 192.168.0.151
      1 192.168.0.152
      2 192.168.0.153
      1 192.168.1.1
      1 192.168.1.10
      1 192.168.1.11



擷取字元-cut


用法: cut [選項] [檔案]

-d		指定分隔符
-f		指定區域
[root@oldboy ~]# cut -d':' -f1,7 /etc/passwd
root:/bin/bash
bin:/sbin/nologin
daemon:/sbin/nologin
adm:/sbin/nologin

-c		取字元
[root@oldboy ~]# echo 123456 |cut -c 3-5
345

字元替換-tr


tr 舊字元 新字元
[root@oldboy ~]# echo 123a123b123c|tr 'a' 'b'
123b123b123c

統計命令-wc


wc 檔案
[root@oldboy tmp]# wc /etc/services 
 11176  61033 670293 /etc/services

-c			按照位元組數統計
[root@oldboy ~]# wc -c /etc/services 
670293 /etc/services

-w			按照單詞數統計
[root@oldboy ~]# wc -w /etc/services 
61033 /etc/services

-l			統計行數
[root@oldboy ~]# wc -l /etc/services 
11176 /etc/services