sed命令语法sed [-hnVl[-e <script>]f-f<script文件>J[文本文件]
参数说明:
-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命令来关闭Selinux服务
案例三:
只删除第 2 行
案例四:
删除第 6 行到最后一行
案例五:
在第 2 行后加上 "Kane Kai"
案例六:
仅列出/mnt/passwd文件内的第 5-7 行
案例七:
数据的搜索并显示 /mnt/passwd 有root 关键字的行
案例八:
利用sed直接在test1.txt文件最后一行添加 Kane Kai
由于$代表的是最后一行,而a的动作是新增,因此该文件最后新增Kane Kai
sed 的-i选项可以直接修改文件内容,这功能非常有帮助!举例来说,如果你有一个 100 万行的文件,你要在第100 行加某些文字,此时使用 vim 可能会疯掉,因为文件太大了!那怎么办?就利用 sed 啊!透过 sed 直接修改/替换的功能,你甚至不需要再使用 vim 去修改文件了!