文本处理命令:
cut,sort,wc,uniq
cut 选取一段信息中的某一段,处理的信息以“行”为单位。
语法:cut OPTION... [FILE]...
参数:
–d ‘分割符’
–f # 按字符分割,显示第#段
#,#,#: 1,3,5 显示第1 ,3,5段信息
#-#:2-4 显示第2到第四段信息
–c # 以字符的单位取出固定字符区间 多用于排列整齐的信息处理
#- 显示第#个字符之后的值
#-# 显示选定区间的值
示例
[email protected] test]# cat test_cut how are you? how old are you? where are youfrom? how do it? #以?为分割符,显示第2段信息 [[email protected] test]# cut -d ‘?‘ -f 2 test_cut howold are you #以?为分割符,显示第2和第4段信息 [[email protected] test]# cut -d ‘?‘ -f 2,4test_cut howold are you? how do it #以?为分割符,显示第2到第4段信息 [[email protected] test]# cut -d ‘?‘ -f 2-4test_cut howold are you? where are you from? how do it #显示第8个字符以后的内容 [[email protected] test]# cat test_cut aaaa 1 how are you ? aaaa 1 how old are you? aaaa 1 practice make pefect aaaa 1 so good! [[email protected] 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搭配使用)
示例
#默认按第一个文字排序 [[email protected] 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 [[email protected] 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 #分割后,按制定字段排序 [[email protected] 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:进行计数
示例:
# 去重复 [[email protected] test]# last | cut -d ‘ ‘ -f 1 |sort | uniq reboot roger root wtmp #计数 重复数 [[email protected] 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 : 多少字符
示例:
#同时系统中有多少用户 [[email protected] test]# cat /etc/passwd | wc -l 34 如有错误,敬请指正! 谢谢!
时间: 2024-10-11 00:34:07