Linux Sed 命令使用示例
  pDfpeWmG3ZJk 2023年11月19日 21 0

一、什么是 Sed 命令

Linux Sed(stream editor)命令是一种流式文本编辑器,用于对文本进行修改、替换和删除等操作。它可以读取输入的文本流,按照指定规则处理后输出结果,通常与管道命令一起使用。Sed是一个非交互式的命令行工具,可以批量处理大型文件,并使用简单的脚本语言进行编辑。

二、如何使用 Linux Sed 命令

Sed 命令的基本语法为:

sed OPTIONS 'script' input_file(s)

其中,OPTIONS 是可选的参数,用于设置 Sed 的不同功能选项;script 是 Sed 脚本,用于指定 Sed 的操作命令;input_file(s) 是要处理的输入文件。如果未指定输入文件,则从标准输入读取数据。 Sed 命令可以根据需求来编辑文本,常用的操作命令包括查找和替换、删除指定行、插入和追加文本等。

三、高频使用示例

3.1 替换文本

sed 's/old_text/new_text/g' file.txt

将文件 file.txt 中所有的 “old_text” 替换为 “new_text”。

3.2 按行号替换指定行

sed '3s/old_text/new_text/g' file.txt

将文件 file.txt 的第 3 行中的 “old_text” 替换为 “new_text”。

3.3 删除指定行

sed '6d' file.txt

删除文件 file.txt 的第 6 行。

3.4 查找并删除指定文本所在的行

sed '/pattern/d' file.txt

删除文件 file.txt 中包含 “pattern” 的所有行。

3.5 显示特定行之间的内容

sed -n '2,5p' file.txt

显示文件 file.txt 中第 2 至第 5 行的内容。

3.6 插入新行

sed '3i\new_line' file.txt

在文件 file.txt 的第 3 行前插入新行 “new_line”。

3.7 追加新行

sed '3a\new_line' file.txt

在文件 file.txt 的第 3 行后追加新行 “new_line”。

3.8 根据正则表达式匹配行,并替换其内容

sed '/pattern/s/old_text/new_text/g' file.txt

在文件 file.txt 中,匹配包含 “pattern” 的行,并将行内的 “old_text” 替换为 “new_text”。

3.9 在指定行之前或之后添加文本

sed '/pattern/i\new_line' file.txt
sed '/pattern/a\new_line' file.txt

在文件 <code>file.txt</code> 中,找到匹配 “pattern” 的行,分别在其前面或后面添加新行 “new_line”。

3.10 多个编辑命令的组合

sed -e '2,5d' -e 's/old_text/new_text/g' file.txt

删除文件 file.txt 中第 2 至第 5 行,并将其余行中的 “old_text” 替换为 “new_text”。

3.11 使用正则表达式进行全局替换

sed 's/old_text/new_text/g' file.txt

将文件 file.txt 中所有的 “old_text” 替换为 “new_text”。

3.12 删除文件内容中的空白行

sed '/^\s*$/d' file.txt

删除文件 file.txt 中的空白行。

3.13 打印指定行号的内容

sed -n '3p' file.txt

打印文件 file.txt 的第 3 行内容。

3.14 根据行号范围删除多行

sed '3,6d' file.txt

删除文件 file.txt 中第 3 至第 6 行。

3.15 查找并替换指定行的内容

sed '5s/old_text/new_text/g' file.txt

将文件 file.txt 的第 5 行中的 “old_text” 替换为 “new_text”。

四、总结

Linux Sed 命令是一个功能强大的流式文本编辑器,可以方便地进行文本的查找、替换和删除等操作。通过熟练掌握 Sed 命令的使用方法,可以提高文本处理效率,并简化复杂的编辑任务。在实际应用中,可以根据具体需求灵活运用 Sed 命令,以达到预期的文本编辑效果。实际工作用,通过组合和修改这些命令,可以应对不同场景下的文本编辑需求。

原文:https://blog.csdn.net/qq_40647372/article/details/132753582

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
  jnZtF7Co41Wg   2023年12月06日   25   0   0 sedlinux数据
  uvM09mQNI0hF   2023年11月19日   27   0   0 sedshell字符串
  eHipUjOuzYYH   2023年12月06日   32   0   0 sedbootstrapIPV6
  xIUntf9oR6GI   2023年11月28日   27   0   0 sedvim基础命令
  oIa1edJoFmXP   2023年11月24日   30   0   0 AppsedVue