码迷,mamicode.com
首页 > 系统相关 > 详细

2018-03-09阿铭Linux学习

时间:2018-03-09 21:25:29      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:Linux   学习   

8.10 shell 特殊符号_cut命令

特殊符号
    *   任意个任意字符
    ?  任意一个字符
    #   注释字符
    \   脱义字符
    |   管道符

几个和管道有关的命令

    cut    分割,-d 分隔符  -f 指定段号  -c 指定第几个字符
    sort   排序, -n 以数字排序  -r 反序  -t 分隔符  -kn1/-kn1,n2
    wc -l  统计行数  -m 统计字符数  -w 统计单词数
    uniq   去重, -c 统计行数
    tee    和 > 类似,重定向的同时还在屏幕显示
    tr     替换字符,tr ‘a‘ ‘b‘ ,大小写替换 tr ‘[a-z]‘ ‘[A-Z]‘
    split  切割,-b 大小(默认单位字节), -l 行数

        [root@aming-01 ~]# cat /etc/passwd |head -2|cut -d ":" -f 1,7
        root:/bin/bash
        bin:/sbin/nologin

8.11 sort_wc_uniq 命令

sort   排序, -n 以数字排序  -r 反序  -t 分隔符  -kn1/-kn1,n2
wc -l  统计行数  -m 统计字符数  -w 统计单词数
uniq   去重, -c 统计行数

    [root@aming-01 ~]# head -5 /etc/passwd|sort
    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
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    root:x:0:0:root:/root:/bin/bash

    [root@aming-01 ~]# head -5 /etc/passwd|sort -r
    root:x:0:0:root:/root:/bin/bash
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    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

    [root@aming-01 ~]# head -5 /etc/passwd|sort -t: -k3
    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

uniq  先排序再去重

8.12 tee_tr_split 命令

tee    和 > 类似,重定向的同时还在屏幕显示
tr     替换字符,tr ‘a‘ ‘b‘ ,大小写替换 tr ‘[a-z]‘ ‘[A-Z]‘
split  切割,-b 大小(默认单位字节), -l 行数

    [root@aming-01 ~]# sort 1.txt|uniq -c|tee a.txt
          1 111
          1 1122
          1 222,111
          1 AAA11
          1 ddc1
    [root@aming-01 ~]# cat a.txt
          1 111
          1 1122
          1 222,111
          1 AAA11
          1 ddc1

    [root@aming-01 ~]# echo "aming"|tr "[a-z]" "[A-Z]"
    AMING

    [root@aming-01 ~]# find /etc/ -type f -name "*conf" -exec cat {} > a.txt \;
    [root@aming-01 ~]# split -b 1000 a.txt

    [root@aming-01 ~]# split -b 100k a.txt bac
    [root@aming-01 ~]# ls
    1.txt  anaconda-ks.cfg  a.txt  bacaa  bacab  bacac

8.13 特殊符号

$   变量前缀,!$ 组合,正则里面表示行尾
;  多条命令写在一行,用分号分割
~   用户家目录,后面正则表达式表示匹配符
&   放到命令后面,会把命令丢到后台
>  >>  2>  2>>  &>
[]  指定字符中的一个,[0-9],[a-zA-Z],[abc]
||  &&  , 用于命令之间

    [root@aming-01 ~]# ls a.txt;wc -l a.txt
    a.txt
    6385 a.txt

    [root@aming-01 ~]# ls a.txt || wc -l a.txt
    a.txt

    [root@aming-01 ~]# ls a.txt && wc -l a.txt
    a.txt
    6385 a.txt
    [root@aming-01 ~]# 

    [root@aming-01 ~]# ls aa.txt && wc -l a.txt
    ls: 无法访问aa.txt: 没有那个文件或目录

2018-03-09阿铭Linux学习

标签:Linux   学习   

原文地址:http://blog.51cto.com/9298822/2084677

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!