语法
sed [-hnV] [-e<script>] [-f<script文件>] [文本文件]
参数说明:
-
-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 就是啦!
示例
在file文件的第4行后插入一行,内容为strings,新内容在第5行
-i : 如果有-i 的时候表示直接在file文件上修改,否则只是临时修改
删除文件file的1-5行,也可以为sed 2d file表示删除第2行;
-i : 如果有-i 的时候表示直接在file文件上修改,否则只是临时修改
sed [-i] '4i cccccc' file
在文件file的第4行之前插入一行字符串cccccc;
-i : 如果有-i 的时候表示直接在file文件上修改,否则只是临时修改
sed [-i] '4,6c aaaaa' file
将文件file的第4-6行的内容替换成aaaaa字符串,也可以sed '4c aaaa'即将第4行替换成aaaa;
-i : 如果有-i 的时候表示直接在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文件上修改,否则只是临时修改
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|