美文网首页
Day16操作系统正则符号

Day16操作系统正则符号

作者: a幕城 | 来源:发表于2019-11-04 19:30 被阅读0次
操作系统基础符号介绍:
  `  . .. > >> < << ! \ ~ - ...`
    1) 基础符号系列:
       #:作用:
       01. `注释说明
       02. 命令提示符中, 表示用户身份-- root管理 `
       $作用:
      ` 01. 调取变量
       02. 命令提示符中, 表示用户身份-- 普通用户
       03. 读取文件中指定列信息`
      ` |``: 管道符号
       作用:
       1. 将管道符号前面命令输出的结果交给管道后面的命令进行处理`
       

```bash
 引号符号系别:
       ""       : 将指定信息进行输出显示 可以将特殊字符信息进行解析输出
                  echo "$PATH `which cat` oldboy67"
                  /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin /usr/bin/cat oldboy67
       ''       : 将指定信息进行输出显示 所见即所得
                  echo '$PATH `which cat` oldboy67'
                  $PATH `which cat` oldboy67
       没有引号 : 和双引号功能是类似, 但是没有引号情况可以输出序列信息
                  echo {01..10}     数字序列
                  echo {a..z}       字母序列
                  echo {01..10..2}  奇数序列
                  mkdir oldboy{01..10}  

                  seq -w 10  --- ? 如何生成奇数序列/生成偶数序列                
       ``       : 将引号中命令信息先执行, 将执行后结果交给引号外面的命令进行处理
                  cp /etc/hosts  /etc/hosts_`date +%F`     
       练习:
       环境准备:
       vim test.txt 
       oldboy  $oldboy  oldgirl 
       01. 利用sed如何将$oldboy信息修改替换为olddog
           sed 's#$oldboy#olddog#g'  文件信息

路径符号系列:
~ : 当前系统用户家目录
. : 表示当前目录
表示隐藏文件 .oldboy.txt.swp
中断编辑 -- 恢复文件信息 --- 删除隐藏文件
同时编辑 -- 其他用户编辑完, 在进行编辑

   .. : 表示上级目录
   -  : 上一次所在目录

4) 定向符号系列:
   >   :  标准输出重定向符号
   >>  :  标准输出追加重定向符号       定时任务
   2>  :  错误输出重定向符号
   2>> :  错误输出追加重定向符号
   <   :  标准输入重定向符号
          tr 'A-Z' 'a-z'  < 文件信息 
          xargs -n1       < 文件信息
   <<  :  标准输入追加重定向符号
          cat >> /oldboy.txt <<EOF 
          XXX
          XXX 
          EOF
逻辑符号系列:     `shell脚本`
       第一件事: `创建目录 /oldboy  `
       第二件事:` 检查是否存在/oldboy`
       第三件事: `在/oldboy目录中创建oldboy.txt  ` 
       &&  : ` 前一个事情成功完成了, 再做下一件事情`
             ` mkdir /oldboy &&  touch /oldboy/oldboy.txt`
             `[root@linux67 /]# mkdi /oldboy &&  touch./oldboy/oldboy.txt
              -bash: mkdi: command not found
              [root@linux67 /]# mkdi /oldboy ; touch /oldboy/oldboy.txt
              -bash: mkdi: command not found
              touch: cannot touch ‘/oldboy/oldboy.txt’: No such file or directory`
     `  ||  :  前一个事情出现失败了, 再做一件事情
              [root@linux67 /]# mkdi /oldboy || mkdir /oldboy
              -bash: mkdi: command not found
              [root@linux67 /]# ll -d /oldboy
              drwxr-xr-x 2 root root 6 Nov  1 18:44 /oldboy
              
              [root@linux67 /]# mkdir /oldboy && touch /oldboy/oldboy.txt || mkdir /oldboy
              [root@linux67 /]# ll -d /oldboy
              drwxr-xr-x 2 root root 24 Nov  1 18:45 /oldboy
              [root@linux67 /]# ll /oldboy
              total 0
              -rw-r--r-- 1 root root 0 Nov  1 18:45 oldboy.txt
              [root@linux67 /]# rm /oldboy -rf
              [root@linux67 /]# mkdi /oldboy && touch /oldboy/oldboy.txt || mkdir /oldboy
              -bash: mkdi: command not found
              [root@linux67 /]# ll -d /oldboy
              drwxr-xr-x 2 root root 6 Nov  1 18:46 /oldboy
              [root@linux67 /]# ll /oldboy
              total 0`
        

操作系统通配符号介绍:
* 匹配任意字符信息
find /oldboy -name "old"/".txt"/"old.txt"
rm /oldboy/
.txt /oldboy/oldboy*
rm -rf ./* --- 清空目录中文件数据(清空可见文件)
rm -rf ./.o* --- 删除以O打头的信息
rm -rf ./.* --- 删除根目录下面所有数据信息

{} 匹配序列信息
1) 生成数字或者字母序列信息
2) 生成组合序列信息
[root@linux67 oldboy]# echo A{1..3}
A1 A2 A3
[root@linux67 oldboy]# echo {1..3}B
1B 2B 3B

     > echo A{,3}
      A A3
      echo /oldboy/oldboy.txt{,.bak}
      快速备份:
      cp /oldboy/oldboy.txt  /oldboy/oldboy.txt.bak  --简化-- cp /oldboy/oldboy.txt{,.bak}
      快速恢复:
      cp /oldboy/oldboy.txt.bak /oldboy/oldboy.txt   --简化-- cp /oldboy/oldboy.txt{.bak,}                                                                                                                                           cp /oldboy/oldboy.txt.bak /操作系统正则符号

准备操作环境:
cat >> test.txt <<EOF
I am oldboy teacher!
I teach linux.

I like badminton ball ,billiard ball and chinese chess!
my blog is http://oldboy.blog.51cto.com
our site is http://www.etiantian.org
my qq num is 49000448.

not 4900000448.
my god ,i am not oldbey,but OLDBOY!
EOF

基础正则符号: BRE basic regular expression
^ --- 匹配以什么开头信息 ^xxx
grep "^I" test.txt
练习: 找出文件中以大写字母I开头的信息
--- 匹配以什么结尾信息 grep "m" test.txt
练习: 找出空行信息
grep "^$" 文件 oldboy/oldboy.txt

``^$ 表示空行信息
     
    .  匹配任意一个且只有一个字符
       grep sed awk 处理文件时, 会按照每一行进行处理文件
       [root@linux67 oldboy]# grep "." test.txt -o
       I
        
       a
       m
        
       o
       l
       d
       [root@linux67 oldboy]# grep ".$" test.txt 
       I am oldboy teacher!
       I teach linux.
       mm
       I like badminton ball ,billiard ball and chinese chess!
       my blog is http://oldboy.blog.51cto.com
       our site is http://www.etiantian.org
       my qq num is 49000448.
       not 4900000448.
       my god ,i am not oldbey,but OLDBOY
       `
    *  匹配星号前面一个字符连续出现0次或者多次情况`
`.* 匹配所有内容
    
    [] 匹配多个字符信息
       grep "[0-9]" test.txt 
       等价于:
       grep "0" test.txt
       grep "1" 
        
       [root@linux67 oldboy]# grep  "[0-9a-zA-Z]" test.txt
       I am oldboy teacher!
       I teach linux.
       mm
       I like badminton ball ,billiard ball and chinese chess!
       my blog is http://oldboy.blog.51cto.com
       our site is http://www.etiantian.org
       my qq num is 49000448.
       not 4900000448.
       my god ,i am not oldbey,but OLDBOY!`
     
  ` [^xx] 将匹配多个字符进行取反
       [root@linux67 oldboy]# grep  "[^0-9a-zA-Z]" test.txt
       I am oldboy teacher!
       I teach linux.
       I like badminton ball ,billiard ball and chinese chess!
       my blog is http://oldboy.blog.51cto.com
       our site is http://www.etiantian.org
       my qq num is 49000448.
       not 4900000448.
       my god ,i am not oldbey,but OLDBOY!`
       
    `\  转义符号
       1) 将有意义信息变得没有意义
          [root@linux67 oldboy]# grep  "\.$" test.txt
          I teach linux.
          my qq num is 49000448.
          not 4900000448.
       2) 将没有意义字符变得有意义
          \n  \r  --- 换行符
          \t
       3) 让扩展正则可以变为基础正则???`
    
`   PS: 
    1) 正则符号使用时, 可以结合使用
    2) 正则符号做匹配时,有贪婪匹配特性
       解决贪婪:
       [root@linux67 oldboy]# grep "^I.*e ba" test.txt
       I like badminton ball ,billiard ball and chinese chess!
    
    扩展正则符号: ERE  extended regular expression`


   ` 通配符号 和 正则符号 区别:
    通配符号: 匹配文件名称信息  *   基础命令可以识别通配符号 find rm cp ll
    正则符号: 匹配文件内容信息      高级命令可以识别正则符号 grep sed awk`

相关文章

  • Day16操作系统正则符号

    路径符号系列:~ : 当前系统用户家目录. : 表示当前目录表示隐藏文件 .oldboy.txt.swp中...

  • 2019-07-23

    day18 操作系统正则符号/grep 1.系统通配符号2.系统正则符号 知识回顾: 1.系统文件属性(文件类型 ...

  • linux符号整理-正则整理

    引号符号系列: 重定向符号系列: 特殊符号系列: 通配符系列匹配文件内容信息 正则符号系列: 扩展正则系列:

  • day 17 操作系统正则符号/grep

    系统通配符号: 系统正则符号:grep sed awk 系统正则: BRE( basic regular e...

  • Day15 正则表达式

    01.正则表达式的符号 02.正则表达式符号组合 03.正则表达式 04.re 模块方法 01.正则表达式的符号 ...

  • day17-正则表达式

    17.1 正则基本符号 1.什么是正则表达式 正则表达式就是字符匹配的工具,用来做正则匹配;是由正则符号和普通字符...

  • 正则匹配

    正则匹配 一.常用符号 转义字符\ (******)在正则中有特殊意义的符号通过转义字符转义,就会变成普通的符号e...

  • D17-操作系统正则符号

    一、补充 1.find -ls 系统文件属性 (文件类型 权限信息 用户信息 inode/block 硬链接和软...

  • 15-正则表达式

    正则表达式常用符号 组合符号 注意 正则中:\ [] {} () * + ? ^ | $ 这些字符,都有特殊的意义...

  • day15正则表达式

    正则表达式符号 正则表达式符号组合 模块方法 compile:(正则字符串) 将正则表达式字符串转换成正则表达式对...

网友评论

      本文标题:Day16操作系统正则符号

      本文链接:https://www.haomeiwen.com/subject/xxtjbctx.html