[Linux]sed命令
[Linux]sed命令
命令介绍
格式:sed [-nefr] [动作]
选项与参数:
选项 | 含义 |
---|---|
-n | 使用silent模式,只有sed特殊处理的行才会被列出。 |
-e | 直接在指令列模式上进行sed的动作编辑。 |
-f | 直接将sed的动作写在一个文件内,-f filename |
-r,-E | 使用正则语法 |
-i | 直接修改读取的文件内容,而不是由屏幕输出。(危险操作) |
动作说明:[n1[,n2]]function
n1,n2:可选项,一般用于选择进行动作的行数。
有以下的function:
- a:新增,后接字符串,这些字符串会在指定行的下一行出现。
- c:取代,后接字符串,将指定行的字符替换。
- d:删除,删除指定行。
- i:插入,后接字符串,这些字符串会在指定行的上一行出现。
- p:打印,通常搭配-n一起用。
- s:取代,通常搭配正则表示。
命令示例
- 增加,a
在第二行后增加i'm skybiubiu并输出。
nl /etc/passwd | sed "2a i 'm skybiubiu"
-
删除,d
去掉2~5行输出。
nl /etc/passwd | sed '2,5d'
-
取代,c
将2~5行取代为i'm skybiubiu打印输出。
nl /etc/passwd | sed "2,5c i'm skybiubiu"
-
打印,p
搭配-n,输出1~5行的内容。
nl /etc/passwd | sed -n '1,5p'
-
搜索并取代,s
只将输出内容中匹配的部分替换,不会修改源文件。
sed 's/AAAAA/BBBBB/' /tmp/test.txt
-
修改文件内容(危险操作), -i
该操作会直接修改原文件内容,比较危险,建议先备份。
sed -i 's/AAAAA/BBBBB/' /tmp/test.txt
sed -i '$a CCCCC' /tmp/test.txt
本文作者:SkyBiuBiu
本文链接:https://www.cnblogs.com/Skybiubiu/p/14872655.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2020-06-10 [Python]爬虫学习路径图