路漫漫其修远兮,吾将上下而求索

0%

sed

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 ,很复杂