• 系统常见特殊符号、通配符、正则表达式


    一、系统常见特殊符号

      1、基础符号系列

      1)$

      ①普通用户命令行提示符      

        [sangha@hasang02-01 ~]$

      ②在awk中,$1表示第一列

        awk '{print $1}' test.txt

      ③取出变量的内容

        echo $LANG

      

      2)!

      ①取反或排除

        awk '!/xiang/' test.txt

        find -type f ! -name "*.txt"|xargs ls -l

      ②命令行中表示取出最近命令

        !awk(不建议用)== history|grep awk

      3)|

      管道

      4)#

      ①root用户命令提示符

        [root@hasang02-01 ~]# 

      ②注释   

      2、引号符号系列

      1)单引号:' '

        输入什么,就输出什么

      2)双引号:" "

        类似单引号,单部分内容会被解析

      3)反引号:` `

        执行引号里面的命令,用于其他命令调用,同$()

      3、定向符号系列

      1)小于符号:<

      ①一个小于号:标准输入重定向

        xargs -n2 < test.txt    --- 把文件里的内容按两个一行显示

      ②两个小于号:标准输入重定向

        用于一次性向文件中写入多行内容

      2)大于符号:>

      ①一个大于号:标准输出重定向(会清空原文件内容)

        echo "abc" >test.txt

      ②两个大于号:标准输出追加重定向(追加到文件最后一行)

        echo "abc" >>test.txt

      3)错误重定向:2>

      ①错误输出重定向:ifconfi 2>test.txt

      ②错误输出追加重定向:ifconfi 2>>test.txt

      ③把错误的正确的都追加输入到指定文件:ifconfig &>>test.txt 或 ifconfg >>test.txt 2>&1

        

      4、路径信息系列

      1)点:.

      ①表示当前目录:cd .

      ②加载(==source):. /etc/profile

      2)点点:..

      表示上一层目录:cd ..

      3)波浪线:~

      表示当前用户家目录:cd ~

      5、逻辑符号系列

      1)两个and符号:&&

      前面的命令执行成功,再执行后面的命令

      2)两根竖线:||

      前面的命令执行不成功,才执行后面的命令

      3)分号: ;

      分别执行两个命令

    二、通配符

      通配符多用于处理文件名称信息,find ls -l 常用

      1、星号:*

      表示匹配所有内容

      示例1:找出以.txt结尾的文件

      find /test -type f -name "*.txt"

      示例2:找出包含字符串test的文件

      find /test -type f -name "*test*"

      示例3:找出以test开头.txt结尾的文件

      find /test -type f -name "test*.txt"

      2、大括号:{}

      表示构造出一个序列

      ①单个连续序列

      echo {1..10} ; echo {a..z}

      ②单个不连续序列

      echo {1..10..2} == echo {1,3,5,7,9,}

      ③多个连续序列

      echo {1..3}{1..3}

      ④多个不连续序列

      echo {1,3,4}{2,3}

      ⑤单个字符串和序列组合

      echo A{A,B} ; echo A{,B}

      示例1:一次性创造多个文件

      touch stu{1..10}.txt

      示例2:文件备份

      copy test.txt{,.bak}

    三、基础正则表达式(basic regular expression BRE)

      正则表达式多用于处理文件内容信息,三剑客命令和各种计算机语言常用

      1.尖号:^

      表示以什么开头的信息:grep '^m' test.txt

      

      2.美元符号:$

      找出以什么结尾的信息:grep 'm$' test.txt

      3.尖号加美元符号:^$

      匹配空行信息:grep -v '^$' test.txt

      4.一个点:.

      匹配任意一个且只有一个字符信息(不能匹配空行):grep -o '.$' test.txt

      

      5.星号:*

      匹配0个或多个连续出现的字符信息,会匹配出找不到的内容,预支匹配,默认将所有内容显示出来:grep '0*' test.txt

      6.点星:.*

      匹配文件中所有的内容(可以匹配空行信息):grep '.*' test.txt

      ①找出文件以m开头,一行中的所有信息:grep '^m.*' test.txt

      ②找出文件以m开头,以m结尾的信息:grep '^m.*m$' test.txt

      7.转译符号:

      可以将有意义的符号,转译成没有意义的符号,也可以将没有意义的符号,转译成有意义的符号。

      ①找出以.结尾的行的信息:grep '.$' test.txt

      ②将文件一行信息,转换成一列显示:tr " " " " <test.txt

      

      8.中括号:[abc]

      表示分别匹配中括号里的内容,即匹配a或b或c:grep '[abc]' test.txt

      示例1:找出不包含数字或大写字母的行:grep -v '[0-9A-Z]' test.txt 

      

      9.中括号加尖号:[^abc]

      排除/不匹配指定字符信息:grep '[^abc]' test.txt

      示例1:找出不以a或b或c开头的行

      grep '^[^abc]' test.txt

      示例2:找出不以空格结尾的行

      grep '[^ ]$' test.txt

    四、扩展正则表达式(extended regular expression ERE)

      1.加号:+

      +前面字符出现一次或一次以上,只显示包含对应字符串的行(对比*)

      egrep '[0-9]+' test.txt

      2.竖线:|

      匹配多个满足条件的信息:egrep 'a|b|c' test.txt

      3.小括号:()

      匹配一个整体信息:grep 'a(b|c)d' test.txt

      后项引用前面括号里的内容(多与sed连用):echo 123456|sed 's#(..)(..)(..)#<2><3><1>#g'

      4.大括号:{}

      指定匹配前面一个字符出现了多少次

      1){n,m} :指定前面一个字符连续最少出现n次,最多出现m次

      2){n}:指定前面一个字符连续出现了n次

      3){n,}:指定前面一个字符连续出现了最少n次

      4){,m}:指定前面一个字符连续出现了最多m次

      5.问号:?

      匹配前一个字符出现了1次或0次:egrep 'a?' test.txt

    五、基础正则表达式和扩展正则表达式的区别

      基础正则命令:grep  sed  awk

      扩展正则命令:egrep     sed -r    awk

      如果一定要用基础正则命令来使用扩展正则表达式的话,必须在扩展正则表达式前面加上转译符

      如:grep 'a|b' test.txt  ;   sed -n  "/3306|1521/p" /etc/services

  • 相关阅读:
    “问答回复模块”Java开发文档官方改进版讲解【在线实习·吾研第二期】
    “付费邀请模块”产品原型图评审【在线实习·吾研第三期】
    “学长学姐认证模块”测试用例官方改进版讲解【在线实习·吾研第一期】
    “学长认证模块”Java代码2.0官方版要点讲解【在线实习·吾研第一期】
    “问答评论模块”UI作品评审【在线实习·吾研第二期】
    “认证模块”前端代码1.0评审【在线实习·吾研第一期】
    <<中国专利法详解>>学习笔记(一)
    JS 前端获得时间
    北漂的程序员
    Spring类注入异常
  • 原文地址:https://www.cnblogs.com/yaozhiyuan/p/9368022.html
Copyright © 2020-2023  润新知