shell编程——sed用法
2015-05-14 16:24
92 查看
一、sed格式:
演示文件的内容:
sed默认是打印出文件内容的,不加正则表达式时会把文件内容全部打印出来,跟cat功能类似:
我们加-n参数取消sed的默认打印功能,在正则表达式中加p表示打印匹配表达式的内容,这里为空表示匹配所有,结果会把整个文件打印出来:
现在我们打印第一行:
从第二行开始打印到四行,#!/bin/bash也算是一行
把包含234的打印出来:
当匹配内容里有特殊字符时需要加\屏蔽其特殊含义
注意:当匹配不到时会把整个文件打印出来
在第三行里查询包含字符“二”的内容,可用来判断该行是否存在该字符串
把除了第一、二行外的其他内容打印出来:
经测试一个正则表达式中最多只能排除两行,三行就无效:
二、现在介绍下在正则表达式中常用的编辑命令:
sed 参数 '正则表达式' 文件名
演示文件的内容:
[root@localhost ~]# cat test.sh #!/bin/bash 第一行 12345! 第二行 23456@ 第三行 34567# 第四行 45678$ 第五行 56789%
sed默认是打印出文件内容的,不加正则表达式时会把文件内容全部打印出来,跟cat功能类似:
[root@localhost ~]# sed '' test.sh #!/bin/bash 第一行 12345! 第二行 23456@ 第三行 34567# 第四行 45678$ 第五行 56789%
我们加-n参数取消sed的默认打印功能,在正则表达式中加p表示打印匹配表达式的内容,这里为空表示匹配所有,结果会把整个文件打印出来:
[root@localhost ~]# sed -n '' test.sh [root@localhost ~]# sed -n 'p' test.sh #!/bin/bash 第一行 12345! 第二行 23456@ 第三行 34567# 第四行 45678$ 第五行 56789%
现在我们打印第一行:
[root@localhost ~]# sed -n '1p' test.sh #!/bin/bash
从第二行开始打印到四行,#!/bin/bash也算是一行
[root@localhost ~]# sed -n '2,4p' test.sh 第一行 12345! 第二行 23456@ 第三行 34567#
把包含234的打印出来:
[root@localhost ~]# sed -n '/234/p' test.sh 第一行 12345! 第二行 23456@
当匹配内容里有特殊字符时需要加\屏蔽其特殊含义
[root@localhost ~]# sed -n '/\$/p' test.sh 第四行 45678$
注意:当匹配不到时会把整个文件打印出来
[root@localhost ~]# sed -n '/$/p' test.sh #!/bin/bash 第一行 12345! 第二行 23456@ 第三行 34567# 第四行 45678$ 第五行 56789%
在第三行里查询包含字符“二”的内容,可用来判断该行是否存在该字符串
[root@localhost ~]# sed -n '/二/,3p' test.sh 第二行 23456@
把除了第一、二行外的其他内容打印出来:
[root@localhost ~]# sed -n '1,2!p' test.sh 第二行 23456@ 第三行 34567# 第四行 45678$ 第五行 56789%
经测试一个正则表达式中最多只能排除两行,三行就无效:
[root@localhost ~]# sed -n '1,2,4!p' test.sh sed:-e 表达式 #1,字符 4:未知的命令:“,”
二、现在介绍下在正则表达式中常用的编辑命令:
p 打印匹配行 = 显示文件行号 a \ 在定位行号后附加新文本信息 i \ 在定位行号后插入新文本信息 d 删除定位行 c \ 用新文本替换定位文本 s 使用替换模式替换相应模式 r 从另一个文件中读文本 w 写文本到一个文件 q 第一个模式匹配完成后推出或立即推出 l 显示与八进制A S C I I代码等价的控制字符 { } 在定位行执行的命令组 n 从另一个文件中读文本下一行,并附加在下一行 g 将模式2粘贴到/pattern n/ y 传送字符 n 延续到下一输入行;允许跨行的模式匹配语句
相关文章推荐
- shell编程——sed用法之参数详解
- Linux下Shell编程——sed命令基本用法
- Linux下Shell编程——sed命令基本用法
- shell编程——sed用法
- Linux下Shell编程——sed命令基本用法
- shell编程——sed用法之参数详解
- shell脚本中数组用法总结及脚本实现冒泡排序
- shell awk 用法
- 一天一个shell命令 linux文本操作系列-touch命令用法
- Shell 特殊用法续
- Shell if语句用法小结
- shell read命令的用法
- shell中test命令及判断符号[ ]的用法统计
- shell脚本中的shift的用法
- shell数组归纳用法
- readonly命令_Linux readonly 命令用法详解:定义只读shell变量或函数
- 关于shell的一些用法
- shell命令之(三)find常见用法
- shell中各种引号的用法
- 理解 Linux 下 Shell 命令的不同分类及它们的用法