操作系统正则符号

操作系统基础符号介绍:
  `  . .. > >> < << ! \ ~ - ...`
	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 “mKaTeX parse error: Expected group after '^' at position 42: …行信息 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`
发布了58 篇原创文章 · 获赞 52 · 访问量 1274

猜你喜欢

转载自blog.csdn.net/ljaixiaoxue/article/details/102903526