周五的下午,口罩都挡不住刺骨的寒风~希望周六的太阳会好一点
这也是三剑客的终结片了,希望会对小伙伴们起到点帮助把~
sed
Linux sed 命令是利用脚本来处理文本文件。
sed 可依照脚本的指令来处理、编辑文本文件。
Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等
语法
sed [-hnV][-e<script>][-f<script文件>][文本文件]
参数说明:
-
-e 以选项中指定的script来处理输入的文本文件。
-
-f以选项中指定的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 就是啦!
示例
根据行数的删除
#输出删除文件第二行
[root@xyw74530 ~]# nl test |sed '2d'
1 this is a test
3 orange apple mysql linux
[root@xyw74530 ~]#
#仅列出 /etc/passwd 文件内的第 5-7 行
[root@xyw74530 ~]# nl /etc/passwd |sed -n '5,7p'
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
[root@xyw74530 ~]#
数据的搜寻并替换
除了整行的处理模式之外, sed 还可以用行为单位进行部分数据的搜寻并取代。基本上 sed 的搜寻与替代的与 vi 相当的类似!他有点像这样:
sed ‘s/要被取代的字串/新的字串/g’
[root@xyw74530 ~]# sed -e '3,$d' -e 's/bash/blueshell/' passwd
root:x:0:0:root:/root:/bin/blueshell
bin:x:1:1:bin:/bin:/sbin/nologin
[root@xyw74530 ~]#
sed的分享就到这里了,我们下周见咸党们!