shell之sort和uniq 及wc 的使用


文本排序:sort
      -n:數值排序
      -r: 降序
      -t: 字段分隔符
      -k: 以哪個字段為關鍵字進行排序
      -u: 排序后相同的行只顯示一次
      -f: 排序時忽略字符大小寫
##########################################################################
DESCRIPTION
 -n, --numeric-sort
              compare according to string numerical value
       -r, --reverse
              reverse the result of comparisons
       -t, --field-separator=SEP
              use SEP instead of non-blank to blank transition
       -k, --key=POS1[,POS2]
              start a key at POS1, end it at POS2 (origin 1)
       -u, --unique
              with -c, check for strict ordering; without -c, output only the first of an equal run
       -f, --ignore-case
              fold lower case to upper case characters
例子:/etc/passwd 的第三例數字從小到大排列
[root@zdx30 ~]# sort -t: -k3 -n /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
avahi:x:70:70:Avahi daemon:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
pcap:x:77:77::/var/arpwatch:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
 
##########################uniq#######################
uniq:
      -c: 顯示文件中行重復的次數
      -d: 只顯示重復的行(相鄰的行)
      -D: 把所有重復的行都顯示出來(相鄰的行)
 
例子:
[root@data-1-3 scripts]# cat 1.txt
456
456
123
11
34
5678
456
[root@data-1-3 scripts]# uniq -c 1.txt
      2 456
      1 123
      1 11
      1 34
      1 5678
      1 456
[root@data-1-3 scripts]# uniq -c 1.txt
      2 456
      1 123
      1 11
      1 34
      1 5678
      1 456
[root@data-1-3 scripts]# uniq -d 1.txt
456
[root@data-1-3 scripts]# uniq -D 1.txt 
456
456
[root@data-1-3 scripts]# sort  1.txt |uniq -d
456
[root@data-1-3 scripts]# sort  1.txt |uniq -D
456
456
456
[root@data-1-3 scripts]# sort  1.txt |uniq -c
      1 11
      1 123
      1 34
      3 456
      1 5678
###########################WC使用##################
文本統計:wc (word count)
      -l:多少行
      -w:多少單詞
      -c:多少字符
      -L:最長的一行包含了多少個字符
[root@data-1-3 scripts]# wc /etc/fstab
 15    78      779   /etc/fstab
 行數  單詞數   字節
[root@data-1-3 scripts]# wc -l /etc/fstab
15 /etc/fstab
[root@data-1-3 scripts]# wc -w /etc/fstab 
78 /etc/fstab
[root@data-1-3 scripts]# wc -c /etc/fstab 
779 /etc/fstab
[root@data-1-3 scripts]# wc -m /etc/fstab 
779 /etc/fstab
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM