正则表达式(二)
来源:互联网 发布:淘宝联盟批量链接工具 编辑:程序博客网 时间:2024/06/01 07:19
正则表达式(二)
一、 sed 可以将数据进行取代、删除、新增、截取
语法:sed [-nefr] [动作]
-n、使用安静模式。在一般sed的用法中,所有来自stdin的数据一般都会被列出到屏幕上。但是加上-n参数后,则只有经过sed特殊处理的哪一行才会被列出
-e、直接在指令列模式上进行sed的动作编辑
-f、直接将sed的动作写在一个文件内,-f filename 则可以执行filename内的sed动作
-r、sed的动作支持的是扩展正则表达式的语法
-i、 直接修改读取的文件内容,而不是由屏幕输出
动作说明:[n1[,n2]] function
n1、n2:不一定会存在,一般表示选择进行操作的行数
function:
a、新增在当前行后面
c、取代
d:删除
i:插入在当前行前面
p:打印
s:取代,如 1,20s/old/new/g
实例:
一 、以行为单位的新增、删除功能
1、将 /etc/passwd 的内容列出来且打印行号,同时,将第 2~5 行删除
nl /etc/passwd | sed '2,5'd
2、承上题,在第二行后加上“hello word”一行
nl /etc/passwd | sed '2a hello word'
3、承上题,在第二行后加上“hello word”两行
nl /etc/passwd | sed '2a hello word \ > hello word2'
语法:sed [-nefr] [动作]
-n、使用安静模式。在一般sed的用法中,所有来自stdin的数据一般都会被列出到屏幕上。但是加上-n参数后,则只有经过sed特殊处理的哪一行才会被列出
-e、直接在指令列模式上进行sed的动作编辑
-f、直接将sed的动作写在一个文件内,-f filename 则可以执行filename内的sed动作
-r、sed的动作支持的是扩展正则表达式的语法
-i、 直接修改读取的文件内容,而不是由屏幕输出
动作说明:[n1[,n2]] function
n1、n2:不一定会存在,一般表示选择进行操作的行数
function:
a、新增在当前行后面
c、取代
d:删除
i:插入在当前行前面
p:打印
s:取代,如 1,20s/old/new/g
实例:
一 、以行为单位的新增、删除功能
1、将 /etc/passwd 的内容列出来且打印行号,同时,将第 2~5 行删除
nl /etc/passwd | sed '2,5'd
2、承上题,在第二行后加上“hello word”一行
nl /etc/passwd | sed '2a hello word'
3、承上题,在第二行后加上“hello word”两行
nl /etc/passwd | sed '2a hello word \ > hello word2'
说明(新增多行时,每一行之间都必须要以反斜杠进行新行的增加)
二、以行为单位进行取代与显示功能
1、我想将第 2-5 行的内容取代成为“No 2-5 number”
nl /etc/passwd | sed '2,5c No 2-5 number'
2、列出第10-20行之间的数据
nl /etc/passwd | sed -n '10,20p' 必须加-n
三、部分数据的搜索并取代
cat /etc/man.config | grep 'MAN'| sed 's/#.*//g'| sed '/^$/d'
二、egrep 扩展这则表达式
1、+:重复一个或一个以上的前一个字符
egrep -n 'go+d' regular_express.txt :搜索god good goood
2、?:零个或者一个的一个字符
egrep -n 'go?d' regular_express.txt :搜索gd god
3、|:或者
egrep -n 'gd|good' regular_express.txt :搜索gd good
4、():找出群组
egrep -n 'g(la|oo)d' regular_express.txt :搜索glad或者good
5、()+:多个组群
echo 'AxyzxyzxyzxyzC' | egrep 'A(xyz)+C'
1、我想将第 2-5 行的内容取代成为“No 2-5 number”
nl /etc/passwd | sed '2,5c No 2-5 number'
2、列出第10-20行之间的数据
nl /etc/passwd | sed -n '10,20p' 必须加-n
三、部分数据的搜索并取代
cat /etc/man.config | grep 'MAN'| sed 's/#.*//g'| sed '/^$/d'
二、egrep 扩展这则表达式
1、+:重复一个或一个以上的前一个字符
egrep -n 'go+d' regular_express.txt :搜索god good goood
2、?:零个或者一个的一个字符
egrep -n 'go?d' regular_express.txt :搜索gd god
3、|:或者
egrep -n 'gd|good' regular_express.txt :搜索gd good
4、():找出群组
egrep -n 'g(la|oo)d' regular_express.txt :搜索glad或者good
5、()+:多个组群
echo 'AxyzxyzxyzxyzC' | egrep 'A(xyz)+C'
找开头是 A 结尾是 C ,中间有一个以上的 "xyz" 字符串
0 0
- 正则表达式(二)
- 正则表达式(二)
- 正则表达式二属性
- 正则表达式使用指南二
- 正则表达式(二)
- 正则表达式规则(二)
- 正则表达式学习二
- 正则表达式(二)
- 正则表达式(二)
- 正则表达式之二
- 正则表达式(二)
- Java正则表达式(二)
- 正则表达式实例二
- Java正则表达式(二)
- 正则表达式(二)
- 正则表达式(二)
- 正则表达式符号(二)
- 正则表达式之二
- 游戏运行时,WIN2003报错:设备 \Device\Harddisk0有一个不正确的区块。
- 泛型技术
- android,HttpPost发送数据到服务器
- 特征变换以及维度下降——LDA VS PCA
- 关于公交系统中运用NFC-TSM技术进行移动支付的解决案例浅析
- 正则表达式(二)
- 详解Cocos2d-X中宏CC_DLL
- hdu 1702 ACboy needs your help again
- Linux vsftp服务的安装
- POJ 1005 I Think I Need a Houseboat
- hdu 2044 (水题)
- 二分总结一 二分法试解 POJ1064
- Linux vi编辑器的基本命令
- ubuntu13.10 多系统安装