宝禄计算

 
登录 注册
 

宝禄干货:4-5重定向、管道符、正则表达式

浏览134人

发布时间2022-10-14

重定向、管道符、正则表达式

1.输入输出重定向

  

> file        //标准输出重定向到文件—覆盖

 >>file        //标准输出重定向到文件—追加

 2>              //标准错误重定向到文件—覆盖             

 2>>              //标准错误重定向到文件—追加

 2>/dev/null       //标准错误重定向到回收站

 &>file       //标准输出和标准错误重定向到文件—覆盖

 >>file 2>&1       //标准输出和标准错误重定向到文件—追加

 

配合计划任务

*/1 * * * * date >> /tmp/abc

 

2.管道符

 

字符:| 这就是管道符。

作用有两个:

 l承上启下:把上一个指令的输出作为下一个指令的输入来执行。

 l搭配grep 字符实现过滤功能。

 

[root@localhost tmp]# ls -l /etc/ | more

[root@localhost tmp]# ps -aux | grep cron

[root@localhost tmp]# ps -aux | grep cron > abc

 

3.正则表达式和通配符

 

在linux中,有通配符和正则表达式,这是两个不同的概念

通配符:它是由shell解析,并且一般用于匹配文件名。如:ls

正则表达式:是一个字符匹配标准,可以匹配文本中的内容

一些命令工具按此标准实现字符匹配,常用于支持正则表达式的工具,如grep,sed等。一般用于匹配文件中的内容

*:匹配任意多个字符

?:匹配任意一个字符

[...]:匹配中括号内出现的任意一个字符

[!...]:不匹配中括号内出现的任意一个字符

 

正则表达式

.:匹配任意单个字符

*:匹配其前面一个字符出现任意次

?:匹配其前面的字符1次或0次

+:匹配其前面一个字符出现至少一次(在扩展正则表达式中)

 

位置匹配

^:锚定行首

$:锚定行尾

\<或\b:锚定词首,其后面的任意字符必须作为单词首部出现

\>或\b:锚定词尾,其前面的任意字符必须作为单词尾部出现

\B:非单词的开头或结尾

^$:空白行

\ :通常用于打开或关闭后续字符的特殊含义

 

分组() :

(ab)* :匹配ab这个分组出现任意次

\1:引用第一个左边以及与之对应的右边所包括的所有内容,同理还有\2,\3

 

特殊子字符类:

[:alnum:] :任何字母和数字

[:alpha:] :任何字母

[:cntrl:] :控制字符. 在ASCII表中对应八进制000 到 037, 和177 ('DEL').

[:digit:] :任何数字

[:graph:] :匹配打印字符,相当于'[:alnum:]' +'[:punct:]'.

[:lower:] :小写字母

[:print:] :可打印字符,相当于 '[:alnum:]', '[:punct:]', 和space.

[:punct:] 标点符号,'! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ' { | } ~'

[:space:] 空白字符,tab, newline, vertical tab, form feed, carriage return, and space.

[:upper:] 大写字母

[:xdigit:] 任何16进制的数字,相当于[0-9a-fA-F]

编辑:无

备注:无