sed命令
语法
sed [-hnV] [-e (script)][-f (script-file)][file]
参数说明:
- -e script或–expression=script 以选项中指定的script来处理输入的文本文件。可使用多个-e参数执行多个动作
- -f<script文件>或–file=<script文件> 以选项中指V定的script文件来处理输入的文本文件。
- -h或–help 显示帮助。
- -n或–quiet或–silent 仅显示script处理后的结果。
- -V或–version 显示版本信息。
- -i 直接替换文件中内容,不用打开
动作说明:
- a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
- c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
- d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
- i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
- p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
- s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g
实例
1.添加–a(行后)
在第四行添加一行内容为 *newline*
`sed '4a newline'`
2.取代–c
将2-5行内容换成*2-5line*
`sed '2,5c 2-5line'`
2-5行的全部内容换成一个字串2-5line,并不是每行都会单独取代
3.删除–d
删除4到最后一行
`sed '4,$d'`
4.插入–i(行前)
在第1行插入内容为*firstline*与secline两行
`sed '1i first\`
`secline'`
5.搜寻
寻找含有root的行并删除
`sed '/root/d'`
5.替换–s
`sed s/被替换/替换/g`
类似vim一样的用法
去除空行用vim中:%s/\n//g
不要用sed ,很复杂