细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

字符串的条件判定

  • 1.字符串判定 一定要用双[[ ]]

    细节决定成败–空格的巨大作用以及正则表达式中元字符的转义
  • 2.字符串判定=~默认支持扩展正则表达式,这里注意双引号的使用
    • 仅仅做是否包含时,有无双引号无区别。
    • 但是利用其他扩展表达式时 双引号一定要去掉细节决定成败–空格的巨大作用以及正则表达式中元字符的转义
    • 锚定示例细节决定成败–空格的巨大作用以及正则表达式中元字符的转义
    • 多条件判定时-o -a使用时,不能使用双中括号

      细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

空格有无的差别

!的使用细节

!到目前为止 有两种意义条件判定取反历史命令的调用 两者的使用却别!后面是否接空格

细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

find 命令中的-exec command {} \;  尾部的空格一定要注意,一个都不能少不能少

细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

正则表达式的元字符 在不同命令中的转义与非转义

sed  命令中模式的查找与替换

  • sed 命令默认支持基本正则表达式细节决定成败–空格的巨大作用以及正则表达式中元字符的转义
  • 搜索时需要转义的字符$ ! [ . \ ‘ “$ 的 示例:细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

    ^的示例

    细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

    \的示例

    细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

    ‘ 的示例 :注意 这里转义单引号也不成功

  • 细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

    细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

    “ 的示例

    细节决定成败–空格的巨大作用以及正则表达式中元字符的转义
  • 其中 ! 在命令使用 双引号时需要转义,单引号时则无需转义

    细节决定成败–空格的巨大作用以及正则表达式中元字符的转义
  • 替换时需要转义的字符& \ ‘ “

    源文件中的内容

    细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

    \ 的示例;

    注意 : 在命令使用不同引号时的转义方式不一样

    细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

    ’  ” 引号的示例:

    注意: 这里和搜索时一样  单引号无法用转义来实现,双引号可以

  • 细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

vim 命令行搜索替换默认支持基本正则表达式

  • 搜索时需要转义的字符$ [ \ ~ .

    原文件内容:

  • 细节决定成败–空格的巨大作用以及正则表达式中元字符的转义
  • 如果$不转义,被当成变量了

    细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

    不加转义符的结果:

    细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

    加转义符的结果:

    细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

    细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

    [ 的示例 :

    不加 转义符的结果: 显示  pattern 不存在, 此时 [被当成了命令。

    细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

    细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

加  转义符的效果 :

细节决定成败–空格的巨大作用以及正则表达式中元字符的转义    结果  a 后面的 [  被成功替换成ok 细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

~ 的 使用 :        原文中 ~ 的位置 :    

细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

不使用转义符时:~ 被当成了某种引用

细节决定成败–空格的巨大作用以及正则表达式中元字符的转义    所以 只能使用 转义符来表达~本来的意义

细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

结果:

细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

 

  • 替换式需要转义的字符& ~ \

    & 示例:

    这里以替换 t 来演示:

  • 细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

    不加转义符时,& 是完全引用搜索内容的意思,所以不用转义符内容无所变化

    细节决定成败–空格的巨大作用以及正则表达式中元字符的转义
  • 细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

    加上转义符 来看看效果 :

    细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

    t 顺利的被替换成了 &

    细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

~ 的示例:      不加 转义符时 :    

细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

t 被替换成了 & ,原因时~ 直接引用了上次替换的结果,所以这里t 就直接被替换成了 &

细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

来看看加转义符的效果 :

细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

细节决定成败–空格的巨大作用以及正则表达式中元字符的转义
  • \ 的示例:不加转义符时,内容直接被替换成了\ 后面的内容。
  • 细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

    细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

    再看看正确的写法:

    细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

    t 成功被替换成了 \

    细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

最后,默认支持扩展正则表达式的 :条件判断时,=~

注意单引号与双引号使用时$的区别

  • 双引号 或者不使用引号时 $ 则表示引用变量的意思,这里引号的不同和echo 命令一样, 单引号时完全引用, 双引号是 智能型引用。细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

相关新闻

历经多年发展,已成为国内好评如潮的Linux云计算运维、SRE、Devops、网络安全、云原生、Go、Python开发专业人才培训机构!