学习使用sed
This blog is used to record the usage of sed.
sed 不会对原始文件产生影响,一行行读取,一行行匹配处理
正则表达式
正则表达式,在sed里面要加两个slash
- ^匹配开头
- /^#/ 匹配#开头的行,注释行
- $匹配末尾
- /^$/ 匹配空行
- /./ 匹配一个字符
- /../ 匹配两个字符
- * 匹配前面0个或多个字符
剔除指定行,打印剩余行
- sed -e ‘1,5d’ filename 删除1到5行,打印剩余行
- sed -e ‘/^#/d’ filename 删除所有#开头的行,打印剩余行
- sed -e ‘/leslie/p’ filename 删除所有包含leslie的行,打印剩余行
打印指定的行
- sed -n -e ‘1,5p’ filename 打印1到5行
- sed -n -e ‘/^#/p’ filename 打印所有#开头的行
- sed -n -e ‘/leslie/p’ filename 打印所有包含leslie的行
- sed -n -e ‘regureexpression1,regureexpression2’ filename 从匹配第一个正则表达式的第一行开始到匹配第二正则表达式的第一行
- sed -e ‘=’ filename 打印行号