正则表达式与sed

通配符是匹配文件名,不能精确匹配大小写,而正则表达式可以精确匹配大小写

基本正则表达式

如何表示次数:

*  :匹配前面的字符任意次,包括0次,尽可能长的匹配

.*  :匹配前面的字符任意次,但是不包括0次

\?  :匹配前面的字符出现0次或者1次,有且只有一次

\+ :匹配前面出现的字符至少要有一次

\{n\}  :匹配前面出现的字符等于几次

\{m,n\}  :匹配前面出现的字符,最少m次,最多n次

\{,n\}  :匹配前面的字符,最多n次,没有也算

\{n.\}  :匹配前面的字符,最少n次,只要连续出现n次,后面的都算

过滤ens33中的ip地址,网络号

位置锚定:

^  : 行首锚定

$  : 行尾锚定

^root$ :匹配行,这一行只能有root

^$  :开头为空,空白行

^[[:space:]]*$  :空白行

_<或者\b  :词首锚定 用于匹配单词模式的左侧

从左往右全部都能匹配到

_>或者\b  :词尾锚定 用于匹配单词模式的右侧

从右往左只能匹配右侧的单词

\broot\b  :匹配整个单词

分组以及逻辑或

分组:()

逻辑或:\|

grep -E 使用扩展正则表达式 (就是把\全部去掉)

|  :表示逻辑或

sed编辑器:

grep:过滤文件内容

sed:行编辑器,是按行处理的

sed是一种流编辑器,每一次处理的内容,只有确认才会生效,如果不确认,那么就只是把模式空间的临时数据展示给用户,然后删除,按文本的行一行一行处理,一直处理到最后一行。默认情况下,sed都是在模式空间执行,因此原文件不会发生变化。要变化怎么办的?

sed的操作格式

sed -e “操作” 文件1 文件2

sed -e “操作1;操作2” 文件

-e :指定的命令来处理输入的文本文件,只有一个操作,-e可以省略,多个指令不可省略

-f :用特定的脚本文件来处理输入的文件

-i :立即生效

-n :仅显示script处理后的结果

sed -i :立即生效(慎用)

sed的操作符:

p:打印

-n就是禁止默认输出

sed -n “2p” 文件名     指定输出第二行的内容

sed -n “=” 文件名      只显示行号

sed -n “=;p” 文件名     显示行号和内容

sed -n “$p” 文件名      打印最后一行

sed -n “1,3p” 文件名    打印1到3行

sed -n “1p;3p” 文件名   打印第一和第三行

sed -n ‘p;n’ 文件名      打印奇数行

sed -n ‘n;p’ 文件名      打印偶数行

文本模式过滤内容

sed -n ‘/过滤内容/p’ 文件名                         

sed使用扩展正则表达式

sed -r

使用sed删除文件:

现在有一个文件,文件名保留,内容删除,免交互

sed -i ‘d’ test.txt

cat /dev/null > test.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值