• shell中的连接符 及grep的使用


    shell中的连接符
    [root@tyzz ~]# ls 1.txt && ls 2.txt
    1.txt
    2.txt
    [root@tyzz ~]# ls 10.txt && ls 2.txt
    ls: cannot access 10.txt: No such file or directory
    [root@tyzz ~]# ls 1.txt && ls 20.txt
    1.txt
    ls: cannot access 20.txt: No such file or directory

    && 左边的命令执行成功后 才会执行右边的

    [root@tyzz ~]# ls 1.txt || ls 2.txt
    1.txt
    [root@tyzz ~]# ls 10.txt || ls 2.txt
    ls: cannot access 10.txt: No such file or directory
    2.txt

    || 左边的命令执行不成功 才会执行右
    ; 左右两边的命令执行 不影响,相当于连续执行两条命令。


    grep命令的基本用法

    -n 显示匹配行的行号
    -v 反向匹配即匹配不包含匹配字的行

    [root@tyzz ~]# grep -n 'root' 1.txt 
    1:root:x:0:0:root:/root:/bin/bash
    10:operator:x:11:0:operator:/root:/sbin/nologin
    [root@tyzz ~]# grep -v 'root' 1.txt 
    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

    -A x 显示匹配行及匹配行的后x行

    [root@tyzz ~]# grep -n -A 2 'root' 1.txt 
    1:root:x:0:0:root:/root:/bin/bash
    2-bin:x:1:1:bin:/bin:/sbin/nologin
    3-daemon:x:2:2:daemon:/sbin:/sbin/nologin
    --
    10:operator:x:11:0:operator:/root:/sbin/nologin
    11-games:x:12:100:games:/usr/games:/sbin/nologin
    12-ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

    -i 不区分大小写

    [root@tyzz ~]# grep -i 'ROOT' 1.txt  
    root:x:0:0:root:/root:/bin/bash
    operator:x:11:0:operator:/root:/sbin/nologin

    [0-9] 匹配任意一个数字
    类似的还有 [a-z][A-Z]

    [root@tyzz ~]# grep '[0-9]' 1.txt 
    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

    ^a 以a开头的行
    a$ 以a结尾的行
    ^$ 空行

    [root@tyzz ~]# grep -n '^a' 1.txt 
    6:adm:x:3:4:adm:/var/adm:/sbin/nologin
    24:avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
    25:avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
    27:abrt:x:173:173::/etc/abrt:/sbin/nologin
    
    [root@tyzz ~]# grep -n 'nologin$' 1.txt 
    4:bin:x:1:1:bin:/bin:/sbin/nologin
    5:daemon:x:2:2:daemon:/sbin:/sbin/nologin
    6:adm:x:3:4:adm:/var/adm:/sbin/nologin
    7:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    16:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    
    
    [root@tyzz ~]# grep -n '^$' 1.txt 
    9:
    10:

    . 任意一个字符
    * 0个或者多个前面的字符
    .
    任意个任意字符
    ? 0个或者1个?前面的字符
    + 1个或者多个+前面的字符

    [root@tyzz ~]# grep -n 'r.o' 1.txt 
    1:root:x:0:0:root:/root:/bin/bash
    14:operator:x:11:0:operator:/root:/sbin/nologin
    [root@tyzz ~]# grep -n 'r*o' 1.txt 
    1:root:x:0:0:root:/root:/bin/bash
    4:bin:x:1:1:bin:/bin:/sbin/nologin
    5:daemon:x:2:2:daemon:/sbin:/sbin/nologin
    6:adm:x:3:4:adm:/var/adm:/sbin/nologin
    7:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    11:shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    13:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
  • 相关阅读:
    南北朝
    霍去病
    晋 司马
    唐代 诗人
    Getting Started with Google Tango(Google Tango开始教程)
    第二届普适计算和信号处理及应用国际会议论文2016年 The 2nd Conference on Pervasive Computing, Signal Processing and Applications(PCSPA, 2016)
    TurtleBot教程
    ROS教程
    《SLAM for Dummies》中文版《SLAM初学者教程》
    Sensor fusion(传感器融合)
  • 原文地址:https://www.cnblogs.com/aallenn/p/6700588.html
Copyright © 2020-2023  润新知