zoukankan      html  css  js  c++  java
  • linux通配符与基础正则

    1.特殊符号:

    ' '     单引号   
           单引号的内容     写什么就是什么,不会被当成特殊字符.
           单引号实例:
          [root@oldboyedu-sh01 ~]# echo '$123'
          $123


    " "    双引号
           双引号里面的内容会被解析
           双引号实例:
          [root@oldboyedu-sh01 ~]# echo "$123"
          23             ## $1 被当成了变量,而在单引号中不会出现这种问题

    ` `  (键盘中 1 的右边),称为  反引号 
         反引号会让引号内的内容优先执行
         反引号 实例:
         [root@oldboyedu-sh01 ~]# ls -l `ls`
        -rw-r--r--. 1 root root 0 Apr 9 11:14 2
        -rw-------. 1 root root 1162 Mar 22 12:05 anaconda-ks.cfg
        -rw-r--r--. 1 root root 21736 Mar 22 12:05 install.log
        -rw-r--r--. 1 root root 5890 Mar 22 12:04 install.log.syslog
        -rw-r--r--. 1 root root 242 Apr 9 10:02 oldboy.txt

    !    感叹号
        find排除
        find chenleilei/ -type f ! -name "2" -name "*"       #排除多个请看下面的实例

        感叹号为取反的意思  (find 命令中 ! 只能排除一个文件或者文件夹,但可以在后面接
        egrep -v  来排除多个)
        感叹号实例:
        [root@oldboyedu-sh01 ~]# find chenleilei/ -type f -name "*" | egrep -v "3|2|1"
        chenleilei/7
       chenleilei/8
        chenleilei/9
       chenleilei/5
       chenleilei/4
       chenleilei/6

     ^符号  以XX开头
    [root@chenleilei ~]# grep ^7 3.txt
    743q9hf9g87rfg23

    & &    并且   (一个命令执行成功后再执行下一个命令)

    例子:
    ifdown eth0 && ifup eth0


    []    代表的是中括号中的任意一个
          例子:[root@chenleilei ~]# ls [1,2,3].txt 
                  1.txt 2.txt 3.txt 


    *     任意一个或者多个字符,或匹配所有

           例子:   [root@chenleilei ~]# ls *.txt

                      1.txt 2.txt 3.txt


    ?     任意一个单个字符
          例子:[root@chenleilei ~]# ls ?.txt 
                  1.txt 2.txt 3.txt 


    >      覆盖输出重定向
            echo  '123'  >1.txt 

    >>   追加输出重定向
            echo  '123'  >1.txt 

    <   输入重定向
         cat >1.txt < eof
        1111111
         eof        输入重定向

    <<   追加输入重定向
            cat >1.txt<<eof
            1111111
            eof

    [-]  代表一个范围    [a-zA-z]
         例子: [0-9]  代表括号内得09得任意字符会被匹配


     [^]   非得意思 [^abc]  -- 只要不是abc 其他都行  排除得意思

    { }  生成序列   
        例子:  touch  {1..10}.txt

    .      当前目录

    ..     上一级目录


    基础正则:
    {..}    查找或删除文件时指定多个文件类型   (查询)
            如: ls {*.txt,*.jpg}
              [root@oldboyedu-sh01 chenleilei]# ls {*.txt,*.jpg}
              1.jpg 1.txt

    {..}     echo 总 它是指定 一个数列 和数列间得间隔  (生成数列)
           [root@oldboyedu-sh01 chenleilei]# echo {1..10..3}
           1 4 7 10

    {..}     同时1.{,.bak}  也可以进行备份            (备份)
           [root@oldboyedu-sh01 chenleilei]# cp 1.txt{,.bak}
           [root@oldboyedu-sh01 chenleilei]# ls
             1 10 1.jpg 1.txt 1.txt.bak 2 3 4 5 6 7 8 9

    ^    以什么开头
          [root@oldboyedu-sh01 chenleilei]# ls 99*.txt
          9992ef9.txt 9999999999.txt

       
    ^$    表示为 空行
         [root@oldboyedu-sh01 ~]# grep --color=auto -n '^$' oldboy.txt
         3:
         8:


    扩展实例:
    统计一个文件中 每个字符使用得次数
    [root@oldboyedu-sh01 ~]# grep -o '[0-9]' oldboy.txt |sort |uniq -c
    [root@oldboyedu-sh01 ~]# grep -o '[0-9]' oldboy.txt | sort | uniq -c
          8 0
          1 1
          6 4
          1 5
          2 8
          2 9

  • 相关阅读:
    C++类构造函数初始化列表
    VC++检测硬件设备状态
    MFC中调用Windows API函数的方式
    DEBUG无法进入断点解决方法
    【转】c++数组初始化
    vc++实现控制USB设备启用与否
    3d图像坐标轴及css3属性的讲解
    Ajax的兼容及Ajax的缓存问题
    Ajax中最有名axios插件(只应用于Ajax)(post方法,官网写错了,应是字符串格式)
    文档碎片及xml讲解
  • 原文地址:https://www.cnblogs.com/superlinux/p/5b9830305af8958a2ed17cffbf6ad380.html
Copyright © 2011-2022 走看看