Shell中的sed命令

语法

sed [-hnV] [-e<script>] [-f<script文件>] [文本文件]express

参数说明:

  • -e<script>--expression=<script> 以选项中指定的script来处理输入的文本文件。
  • -f<script文件>--file=<script文件> 以选项中指定的script文件来处理输入的文本文件。
  • -h--help 显示帮助。
  • -n--quiet或--silent 仅显示script处理后的结果。
  • -V--version 显示版本信息。

动做说明:

  • a :新增, a 的后面能够接字串,而这些字串会在新的一行出现(目前的下一行)~
  • c :取代, c 的后面能够接字串,这些字串能够取代 n1,n2 之间的行!
  • d :删除,由于是删除啊,因此 d 后面一般不接任何咚咚;
  • i :插入, i 的后面能够接字串,而这些字串会在新的一行出现(目前的上一行);
  • p :列印,亦即将某个选择的数据印出。一般 p 会与参数 sed -n 一块儿运行~
  • s :取代,能够直接进行取代的工做哩!一般这个 s 的动做能够搭配正规表示法!例如 1,20s/old/new/g 就是啦!

示例

  • sed [-i] 4a\strings file

在file文件的第4行后插入一行,内容为strings,新内容在第5行ui

-i : 若是有-i的时候表示直接在file文件上修改,不然只是临时修改code

  • sed [-i] '1,5d' file

删除文件file的1-5行,也能够为sed 2d file表示删除第2行;ip

-i : 若是有-i的时候表示直接在file文件上修改,不然只是临时修改字符串

  • sed [-i] '4i cccccc' file

在文件file的第4行以前插入一行字符串cccccc;string

-i : 若是有-i的时候表示直接在file文件上修改,不然只是临时修改io

  • sed [-i] '4,6c aaaaa' file

将文件file的第4-6行的内容替换成aaaaa字符串,也能够sed '4c aaaa'即将第4行替换成aaaa;sed

-i : 若是有-i的时候表示直接在file文件上修改,不然只是临时修改file

  • sed [-i] -n '4,6p' file

输出file文件的4-6行语法

-i : 若是有-i的时候表示直接在file文件上修改,不然只是临时修改

  • sed [-i] -n '/string/p' file

只输出包含string的行;

-i : 若是有-i的时候表示直接在file文件上修改,不然只是临时修改

  • sed [-i] '/string/d' file

删除包含string的行;

-i : 若是有-i的时候表示直接在file文件上修改,不然只是临时修改

  • sed [-i] 's/string1/string2/g' file

将file文件的全部string1替换成string2;

-i : 若是有-i的时候表示直接在file文件上修改,不然只是临时修改

相关文章
相关标签/搜索