linux内特殊符号、通配符、正则表达式

1.特殊符号

‘ ‘  所见即所得。原样输出。

" "  特殊符号会被解析运行

` `   相当于$(),先运行括号里面的命令,把结果留下

> 重定向(先清空文件,再追加内容到文件)

>>    追加重定向(在文件最后追加内容)

2>    错误重定向

2>>     错误追加重定向

~       当前用户家目录

!  查找并运行历史命令。eg:!sed   查找最近的一条,包含sed的命令并运行。一般不用这个,用:history |grep sed

#  注释或root的命令行提示符

$  取变量的值   或  普通用户的命令行提示符

*  所有;任何东西

\  转义字符

&&  前一个命令执行成功,再执行后一个命令。eg:ifdown eth0 && ifup  eth0

||  前一个命令执行失败,再执行后一个命令

2.通配符

通配符是用来查找文件的

*    表示所有,任意

{}    生成序列

3.正则表达式

通过符号表示文字内容。正则表达式是按照行进行处理的;禁止使用中文符号。

通配符和正则的区别:

  通配符--用来匹配查找文件名,linux大部分命令均可使用

  正则--在文件中匹配查找内容。grep/sed/awk/find命令支持,java、python这些高级语言内支持。

正则分类:

  基础正则:^    .    *    $    []    [^]    basic regular expression   BRE

  扩展正则:|    +    {}    ()    ?        extened regular expression   ERE

  ^  行首

  .(点)  任何一个字符,不匹配空行  

  *  匹配前一个字符连续出现0次或1次以上     >=0次。注意:连续出现0次====什么也没有,就会把整个文件内容都显示出来。如:grep "w*" tmp.txt    会将tmp.txt整个文件内容显示出来

  $  行尾

  []  [ABC]------匹配A或B或C。中括号相当于一个符号,一次只匹配一个字符。

  [^]  [^ABC]------排除A或B或C的内容

  .*  所有字符,所有符号

  |  或者。如:egrep "456|abc" tmp.txt

  +  匹配前一个符号1次或多次    >=1次。可以把连续的东西通过正则匹配出来,一般与 [] 配合使用。

  {}  g{n,m}--前一个字符最少出现n次,最多m次;g{n}--前一个字符出现了n次;g{,m}--前一个字符最多出现m次;g{n,}--前一个字符最少出现n次。

  ()  括号中内容相当于是一个整体。用于后向引用(反向引用)。常用于sed。eg:sed -r ‘s#.(.)..(..)#\2#g‘ test.txt    sed -r ‘s#(.*)#\1#g‘  test.txt    egrep "gr(a|e)y"  test.txt

  ?  前一个字符连续出现0次或1次

  

  支持基础正则    基础+扩展正则

         grep      egrep或grep -E

    sed            sed  -r

    awk            awk

原文地址:https://www.cnblogs.com/haocao-niu/p/11619622.html

时间: 2024-10-09 21:54:15

linux内特殊符号、通配符、正则表达式的相关文章

文件类型分类:头文件dirent.h中定义的文件类型与linux内文件符号对应关系

头文件 dirent.h 定义了文件类型: enum{    DT_UNKNOWN = 0,         //未知类型    DT_FIFO = 1,            //first in, first out 类似于管道, 有名管道    DT_CHR = 2,             //字符设备文件    DT_DIR = 4,             //目录    DT_BLK = 6,             //块设备文件    DT_REG = 8,          

Day15 - linux的特殊符号与正则表达式

第1章 linux的特殊符号 1.1 通配符 * {} 1.1.1 含义 方便查找文件 通配符是用来找文件名字的. 1.1.2  * 通过find 命令找以 .sh 结尾的文件,使用*替代文件名字. find /oldboy -type f -name "*.sh" -mtime +7 -size +100k -size -10M 查找文件名中,包含有oldboy字节的文件. [[email protected] 20170118]# find -type f -name "

Linux之特殊符号与正则表达式

Linux中常用的特殊符号 '' 所见即所得,吃啥吐啥 "" 特殊符号会被解析运行 `` ==== $() 先运行里面的命令 把结果留下 > 重定向符号 先清空文件的内容 然后追加文件的最后 >> 追加重定向 追加文件的最后 2> 错误重定向 只有错误的信息 才会通过这个漏洞进入文件中 2>> 错误追加重定向 ~ 当前用户的家目录 root ~ /root oldboy ~ /home/oldboy ! 查找并运行历史命令 !awk 包含awk的命令

通配符&正则表达式&特殊符号总结

通配符 概念 bash操作环境下的功能. * 代表0个到任意多个字符 ? 代表一定有一个任意字符 [] 代表一定有[]中的一个字符.如g[a,b,c]d表示gad.gbd.gcd [-] 代表一定有编码顺序内的所有字符.如g[0-9]d表示g0d.g1d.g2d....g9d [^] 代表反向选择.如g[^abc]d表示gdd.ged.gfd....gzd.g0d.g1d... 特殊字符 #       注释 \        转义符号 |       管道符 ;        命令分隔符,多条

12.25 -特殊符号,通配符与正则表达式

12.25 特殊符号,通配符与正则表达式 内容: 1. 特殊符号系列 2. 通配符 3. 正则表达式分类 4. 正则与通配符区别 第1章 特殊符号 1.1 无分类系列 $   1.命令行 取出变量内容                     echo $LANG 2.awk中  取某一列                        awk '{print $1}' xukai.txt 3.普通用户的命令提示符                    [[email protected] ~]$

Linux系统的grep以及正则表达式浅析!

grep命令可以从文本中或者通过管道送过来的字符流中或一个"-"符号代替文件名来搜索精确或者模糊的匹配信息,grep家族有三个命令:grep,egrep,fgrep. grep支持正则表达式匹配查找 egrep支持扩展正则表达式匹配查找 fgrep不支持正则表达式匹配查找 grep命令的格式: grep [OPT] 'PATTERN' FILE PATTERN是所需要匹配的内容 精确匹配中单双引号的含义相同 如果PATTERN是精确匹配(即只有普通字符不包含元字符)且字符串中间不包含空

Linux中特殊符号的用法

在shell中常用的特殊符号罗列如下: # ;   ;; . , / \\ 'string'| !   $   ${}   $? $$   $* \"string\"* **   ? : ^ $#   [email protected] `command`{}   [] [[]] ()   (()) ||   && {xx,yy,zz,...}~   ~+   ~-   &   \\<...\\>   + - %=   ==   != #井号 (co

linux 中特殊符号用法详解

# 井号 (comments)#管理员  $普通用户 脚本中 #!/bin/bash   #!/bin/sh井号也常出现在一行的开头,或者位于完整指令之后,这类情况表示符号后面的是注解文字,不会被执行. # This line is comments.echo "a = $a" # a = 0由于这个特性,当临时不想执行某行指令时,只需在该行开头加上 # 就行了.这常用在撰写过程中.#echo "a = $a" # a = 0如果被用在指令中,或者引号双引号括住的话

(转)linux 中特殊符号用法详解

linux 中特殊符号用法详解 原文:https://www.cnblogs.com/lidabo/p/4323979.html # 井号 (comments)#管理员  $普通用户 脚本中 #!/bin/bash   #!/bin/sh井号也常出现在一行的开头,或者位于完整指令之后,这类情况表示符号后面的是注解文字,不会被执行. # This line is comments.echo "a = $a" # a = 0由于这个特性,当临时不想执行某行指令时,只需在该行开头加上 # 就