首页 > 系统服务 > 详细

shell特殊字符,cut,sort,wc,uniq,tee,tr,split命令

时间:2018-04-25 10:11:56      阅读:202      评论:0      收藏:0      [点我收藏+]
shell特殊字符
  • *任意个字符
  • ?任意一个字符
  • #注释字符
  • \脱义字符
  • |管道符
  • $变量前缀,!$组合,正则里面表示行尾
  • ;多条命令写到一行,用分号分隔
  • ~用户家目录,正则表达式表示匹配符
  • &放到命令后面,会把命令丢到后台
  • \>,>>,2>,2>>,&>(正确和错误重定向)
  • []指定字符中的一个,[0-9],[a-zA-Z],[abc]
  • ||当前面的命令成功不执行后面的,前面不成功才执行后面的
  • &&当前面的命令不成功不执行后面的,前面成功才执行后面哦

cut命令

  • 截取字符串
  • -d指定分隔符,-f指定截取指定的字段号,-c指定第几个字符
    [root@aminglinux-02 ~]# cat /etc/passwd |head -2
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    [root@aminglinux-02 ~]# cat /etc/passwd |head -2 |cut -d ":" -f 1
    root
    bin
    [root@aminglinux-02 ~]# cat /etc/passwd |head -2 |cut -d ":" -f 1,2
    root:x
    bin:x
    [root@aminglinux-02 ~]# cat /etc/passwd |head -2 |cut -d ":" -f 1-3
    root:x:0
    bin:x:1
    [root@aminglinux-02 ~]# cat /etc/passwd |head -2 |cut -c 4
    t
    :

sort命令

  • ASCII码排序,按字母顺序排序
    [root@aminglinux-02 ~]# sort /etc/passwd
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    aming:x:1000:1000::/home/aming:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    chrony:x:997:995::/var/lib/chrony:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
  • -n以数字排序,字母和特殊符号默认为零
    [root@aminglinux-02 ~]# sort -n 1.txt
    [
    ]
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    halt:x:7:0:halt:/sbin:/sbin/halt
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin
    root:x:0:0:root:/root:/bin/bash
    *sdshdjhj
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    sync:x:5:0:sync:/sbin:/bin/sync
    22aaa
    2222222aaaaaa
    11134444
    222221111
    4234234252sdadhkajhkj
  • -r反序排列
    [root@aminglinux-02 ~]# sort -nr 1.txt
    4234234252sdadhkajhkj
    222221111
    11134444
    2222222aaaaaa
    22aaa
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    *sdshdjhj
    root:x:0:0:root:/root:/bin/bash
    operator:x:11:0:operator:/root:/sbin/nologin
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    halt:x:7:0:halt:/sbin:/sbin/halt
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    bin:x:1:1:bin:/bin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    }
  • -t分隔符,-kn1/-kn1,n2

wc命令

  • -l统计行数
    [root@aminglinux-02 ~]# wc -l 1.txt 
    23 1.txt
  • -m 统计字符数
  • -w 统计词组数,用空白字符区分

uniq命令

  • 去重,-c统计行数几行去重
    [root@aminglinux-02 ~]# sort 2.txt 
    1
    1
    123
    123
    2
    abc
    abc 111,222
    [root@aminglinux-02 ~]# sort 2.txt |uniq
    1
    123
    2
    abc
    abc 111,222
    [root@aminglinux-02 ~]# sort 2.txt |uniq -c
      1 
      2 1
      2 123
      1 2
      1 abc
      1 abc 111,222

tee命令

  • 和>类似,重定向的同时还在屏幕显示
    [root@aminglinux-02 ~]# sort 2.txt |uniq -c > a.txt 
    [root@aminglinux-02 ~]# sort 2.txt |uniq -c |tee a.txt 
    2 1
    2 123
    1 2
    1 abc
    1 abc 111,222
  • 加-a和>>类似,追加并显示追加的内容

tr替换字符

[root@aminglinux-02 ~]# echo "aminglinux" |tr ‘[al]‘ ‘[AL]‘
AmingLinux
[root@aminglinux-02 ~]# echo "aminglinux" |tr ‘[a-z]‘ ‘[A-Z]‘
AMINGLINUX

split命令

  • -b以文件大小切割,后面加文件名,还可以在后面指定切割后的文件名前缀
  • -l以行数大小切割,后面加文件名,还可以在后面指定切割后的文件名前缀
    [root@aminglinux-02 test]# split -b 100k q.txt abc.
    [root@aminglinux-02 test]# ls
    abc.aa  abc.ab  abc.ac  q.txt
    [root@aminglinux-02 test]# split -l 1000 q.txt abc.
    [root@aminglinux-02 test]# ls
    abc.aa  abc.ab  abc.ac  abc.ad  abc.ae  abc.af  abc.ag  q.txt

测试

shell特殊字符,cut,sort,wc,uniq,tee,tr,split命令

原文:http://blog.51cto.com/akui2521/2107551

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!