0
点赞
收藏
分享

微信扫一扫

linux的sed使用

Sky飞羽 2024-10-15 阅读 37
sed运维

环境

centos7.9

介绍

sed(stream editor)是一个强大的流编辑器,它在 Linux 和 Unix 系统中用于处理文本数据。sed 命令可以对文本进行过滤和转换,它按照指定的模式执行编辑操作,如替换文本、删除行、插入新的文本等。以下是 sed 的一些主要功能和用法:


  • 最常用,替换文本
  • sed 可以用来替换文本中的字符串。例如,将文件中的所有 "old" 替换为 "new":

sed 's/old/new/g' filename

  • s 表示替换操作,/old/ 是要查找的模式,/new/ 是替换后的文本,g 表示全局替换。
  • 此处将所有a替换为y

linux的sed使用_sed

linux的sed使用_sed_02

此处要注意加参数-i才是直接修改文件,不加只是预览作用


  • 删除文本
  • sed 可以用来删除匹配特定模式的行。例如,删除文件中包含 "error" 的所有行:

sed '/error/d' filename

  • d 表示删除操作。
  • 删除第三行

sed '3d' 1.txt

  • 插入文本
  • sed 可以在匹配行之前或之后插入文本。例如,在文件的第二行之前插入 "New line":

sed '2i\New line' filename

  • i 表示插入操作,\ 是转义字符,用于在插入的文本中添加新行。
  • 追加文本
  • 类似于插入,sed 可以在匹配行之后追加文本。例如,在包含 "pattern" 的行之后追加 "Appended line":

sed '/pattern/a\Appended line' filename

  • 打印文本
  • sed 可以用来打印匹配特定模式的行。例如,打印文件中包含 "pattern" 的所有行:

sed -n '/pattern/p' filename

  • -n 选项告诉 sed 不要打印所有行,/p 表示打印匹配的行。
  • 替换并打印
  • 你可以组合使用替换和打印操作,例如,替换所有 "old" 为 "new" 并打印结果:

sed 's/old/new/g' filename

  • 使用正则表达式
  • sed 支持扩展的正则表达式,可以用来执行复杂的文本处理任务。例如,替换每行的第一个 "old" 为 "new":

sed '0,/^/s/old/new/' filename

  • 另一个常用功能,多文件处理
  • sed 可以同时处理多个文件,例如,将多个文件中的 "old" 替换为 "new":

sed -i 's/old/new/g' file1 file2 file3

  • -i 选项表示直接修改文件。


举报

相关推荐

0 条评论