shell编程——sed用法之参数详解

来源:互联网 发布:三星共和国 知乎 编辑:程序博客网 时间:2024/05/17 22:04

sed格式:

sed 参数 '正则表达式' 文件名

sed的常见参数有以下几种:

1、-n, --quiet, --silent取消自动打印模式不加n默认打印整个文件:[root@localhost ~]# sed '' test.sh#!/bin/bash第一行 12345!第二行 23456@第三行 34567#第四行 45678$第五行 56789%加-n取消打印:[root@localhost ~]# sed -n '' test.sh 
2、-e 脚本, --expression=脚本添加“脚本”到程序的运行列表,即可以使用多个正则表达式进行匹配下面列子使用了两个匹配条件,'/23456@/p'把匹配的行找出来,'/23456@/='把该行的行号取出,然后一起打印出来:[root@localhost ~]# sed -n -e '/23456@/p' -e '/23456@/=' test.sh 第二行 23456@3
3-f 脚本文件, --file=脚本文件添加“脚本文件”到程序的运行列表
4、-i[SUFFIX], --in-place[=SUFFIX]对文件进行修改把文件里的“第二行 23456@”替换成“65432”[root@localhost ~]# more test.sh #!/bin/bash第一行 12345!第二行 23456@第三行 34567#第四行 45678$第五行 56789%[root@localhost ~]# sed -i 's/第二行 23456@/65432/g' test.sh [root@localhost ~]# more test.sh #!/bin/bash第一行 1234565432第三行 34567#第四行 45678$第五行 56789%
5、-c, --copy
6、-l N, --line-length=N指定“l”命令的换行期望长度
7、--posix关闭所有 GNU 扩展
8-r, --regexp-extended在脚本中使用扩展正则表达式
9-s, --separate将输入文件视为各个独立的文件而不是一个长的连续输入
10、-u, --unbuffered从输入文件读取最少的数据,更频繁的刷新输出
11、--help打印帮助并退出
12、--version输出版本信息并退出
0 0
原创粉丝点击