文本处理命令:cut,sort,wc,uniq

文本处理命令:

 cutsortwcuniq

 

cut 选取一段信息中的某一段,处理的信息以“行”为单位。

语法:cut  OPTION... [FILE]...

参数:

�Cd ‘分割符

�Cf #    按字符分割,显示第#

    ###: 135 显示第1 35段信息

    #-#2-4 显示第2到第四段信息

�Cc #   以字符的单位取出固定字符区间     多用于排列整齐的信息处理     

   #-  显示第#个字符之后的值

   #-# 显示选定区间的值

示例

root@roger test]# cat test_cut
how are you? how old are you? where are youfrom? how do it?
#以?为分割符,显示第2段信息
[root@roger test]# cut -d '?' -f 2 test_cut
 howold are you
#以?为分割符,显示第2和第4段信息
[root@roger test]# cut -d '?' -f 2,4test_cut
 howold are you? how do it
#以?为分割符,显示第2到第4段信息
[root@roger test]# cut -d '?' -f 2-4test_cut
 howold are you? where are you from? how do it
#显示第8个字符以后的内容
[root@roger test]# cat test_cut
aaaa 1  how are you ?
aaaa 1  how old are you?
aaaa 1  practice make pefect
aaaa 1  so good!
[root@roger test]# cat test_cut | cut -c 8-
  howare you ?
  howold are you?
 practice make pefect
so good!

 

sort排序

语法:sort [OPTION]... [FILE]...

参数:

-f:忽略大小写

-b:忽略最前面的空格符部分

-M:以月份的名字来排序,

-n:使用“数字”进行排序

-r:反向排序

-u:相当与uniq,去重复

-t:分隔符,默认使用TAB

-k:以哪个区间field进行排序 (t搭配使用)

示例

#默认按第一个文字排序
[root@roger test]# cat /etc/passwd | sort
abrt:x:173:173::/etc/abrt:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LLStack:/var/lib/avahi-autoipd:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
dbus:x:81:81:System messagebus:/:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
#反向排序-r
[root@roger test]# cat /etc/passwd | sort-r
vcsa:x:69:69:virtual console memoryowner:/dev:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
usbmuxd:x:113:113:usbmuxduser:/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
saslauth:x:498:76:Saslauthduser:/var/empty/saslauth:/sbin/nologin
rtkit:x:499:497:RealtimeKit:/proc:/sbin/nologin
rpc:x:32:32:RpcbindDaemon:/var/cache/rpcbind:/sbin/nologin
rpcuser:x:29:29:RPC ServiceUser:/var/lib/nfs:/sbin/nologin
#分割后,按制定字段排序
[root@roger test]# cat /etc/passwd | sort-t ':' -k 3 -n
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

 

uniq:去重复

语法:uniq [OPTION]... [INPUT [OUTPUT]]

参数:

-i:忽略大小写字母

-c:进行计数

示例:

# 去重复
[root@roger test]# last | cut -d ' ' -f 1 |sort | uniq
 
reboot
roger
root
wtmp

#计数 重复数
[root@roger test]# last | cut -d ' ' -f 1 |sort | uniq -c
     1
     5 reboot
    17 roger
    10 root
     1 wtmp


wc: 统计文件里的字数,行数,字符数

语法:wc [OPTION]... [FILE]...

      wc [OPTION]... --files0-from=F

参数:

-l : 仅列出行

-w:仅列出多少单词数

-m : 多少字符

示例:

#同时系统中有多少用户
[root@roger test]# cat /etc/passwd | wc -l
34

如有错误,敬请指正!
谢谢!


你可能感兴趣的:(sort,uniq,wc,cut,文本处理)