sed命令的使用
1、sed格式、理解
(1)找谁 干什么
(2)想找谁,就把谁保护起来
2、sed基本操作
操作文件oldboy.txt
1 2 3 4 5 6 7 8 9 10 11 12 | I am lizhenya teacher! I teach linux. test I like badminton ball ,billiard ball and chinese chess! my blog is http: blog.51cto.com our site is http:www.lizhenya.com my qq num is 593528156 not 572891888887. lizhenya lizhenyalizhenya |
(1)sed 'np' oldboy.txt
输出第n行,此时为默认输出,会显示所有的内容
加上 -n 后可以取消默认输出,只输出第n行
(2)sed -n '3,5p' oldboy.txt
找出连续的3到5行
(3)sed -n '/xxx/p' oldboy.txt
找出包含xxx的行(也可以找出以什么开头的行,例如:sed -n '/^xxx/p' oldboy.txt)
(4)sed -n '/xxx/,/yyy/p' oldboy.txt
找出包含xxx 到包含yyy 的行(过滤范围)
(5)sed -n '/xxx|yyy/p' oldboy.txt
找出包含xxx或yyy的行(扩展正则需要加 -r )
(6)sed -n '$p' oldboy.txt
找出末尾的行
(7)sed -n 'n,$p' oldboy.txt
找出n行到末尾行
(8)sed 'na xxxxxxxxxxxx' oldboy.txt ——a
在文件的第n行下面插入xxxxxxxxx内容
(9)sed 'ni xxxxxxxxxxxx' oldboy.txt ——i
在第n行上面插入xxxxxxxxxxx内容
(10)sed 'nc xxxxxx' oldboy.txt ——c
把第n行的内容替换成xxxxxxx
(11)sed 'nd' oldboy.txt
删除第n行
(12)以上的a i c d等操作如果不加数字,则会所有的行全部操作,例如:
另外,除了用数字之外也可以用其他的方式,例如:在以ExecReload开头的行上面添加内容
3、sed之内容替换(s###g s@@@g s///g ...)
1 2 | s: sub<br> g: global 全局替换 |
不加g 只会替换每行的第一个内容,加g会全部替换。
1 2 3 | s #xxx#yyy#g 把xxx替换成yyy |
如下例子:取出IP和子网掩码
4、sed之后向引用(先保护起来,然后引用)
例子:
echo 123456 如何输出后显示为:<123456>
5、sed使用注意事项
(1)当加上 -i 时会真正修改内容,否则不会真的修改
(2)当使用扩展正则时需要加上 -r 参数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现