首页 > 运维 > linux运维 > 正文

sed:小工具,大用处

蓮花仙者
发布: 2025-07-09 11:56:01
原创
422人浏览过

linux环境中,除了常用的ll、ls、less等查看命令外,sed和awk是处理文本的强大工具。它们能够以简单的方式完成复杂的文本编辑任务。接下来,我将详细介绍sed和awk的使用方法。

sed是一个非常实用的文本处理工具,通常以行为单位进行操作,可以对数据进行替换、删除、新增和选取等操作。sed既可以处理标准输入,也可以处理文件,并将结果输出到标准输出或文件中。以下是sed的一般使用规则:

sed -nefri '动作命令' 文件或输入
登录后复制

参数说明:

  • -n:使用安静模式。通常,sed会将所有STDIN的资料输出到屏幕上,但加上-n后,只有经过sed特殊处理的行或动作才会被输出。
  • -e:直接在命令行模式上进行sed的动作编辑。
  • -f:将sed的动作命令写在一个文件中,使用-f filename可以执行该文件中的sed动作。
  • -r:支持扩展正则表达式语法(默认使用基础正则表达式语法)。
  • -i:直接修改读取的文件内容,而不是输出到屏幕。

动作命令:

  • a:新增,在当前行之后添加新行内容。
  • c:替换,用新内容替换指定范围内的行。
  • d:删除,通常不接任何参数,直接删除指定行。
  • g:全局,表示在行内全局执行动作,例如替换所有匹配的关键字。
  • i:新增,在当前行之前添加新行内容。
  • p:打印,通常与-n参数一起使用,输出选定的行。
  • s:替换,用于直接进行替换操作,常与正则表达式搭配使用。

新增与删除功能

sed可以根据行号进行删除操作。例如,列出文件内容并删除第2-5行:

sed:小工具,大用处

可以看到标准输出中少了第2-5行,最后一行可以用“$”表示。这里省略了-e参数,因为默认就是在命令行模式下操作。也可以根据关键字删除,例如删除包含“CHEN”的行:

sed:小工具,大用处

但此时文件内容并未被更改,若要删除原文件内容并保存,可以使用-i参数:

sed:小工具,大用处

注意,尽管前三行被删除,行号仍然从第一行开始,因为nl处理的是文件而不是标准输出。接下来,我们展示如何新增新行内容:

sed:小工具,大用处sed:小工具,大用处

可以明显看出ai两个新增命令的区别。可以通过“\+回车”来添加多行内容:

sed:小工具,大用处

表单大师AI
表单大师AI

一款基于自然语言处理技术的智能在线表单创建工具,可以帮助用户快速、高效地生成各类专业表单。

表单大师AI 74
查看详情 表单大师AI

替换与显示功能

sed的p命令可以根据行号显示内容,例如显示文件中的第5-7行:

sed:小工具,大用处

c命令可以进行整行内容替换,例如将文件第2-4行的重复内容替换为“reduplicates”:

sed:小工具,大用处

s命令可以查找关键字并进行替换,可以结合正则表达式使用。例如,将文件中所有的“:”替换为“;”:

sed:小工具,大用处

其中,g表示全局替换,即每一行中的所有匹配都进行替换。如果不加g,则只替换找到的第一个关键字:

sed:小工具,大用处

sed还可以直接处理文件,在处理多文库数据时,常需替换重复的barcode,如下所示:

sed:小工具,大用处

上面的例子中,第一条命令将替换结果保存为新文件,而后两条命令则直接修改原文件。其中,“^”表示只替换行首出现的关键字。

以上就是sed:小工具,大用处的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号