🏆作者简介,黑夜开发者,全栈领域新星创作者✌。CSDN专家博主,阿里云社区专家博主,2023年6月csdn上海赛道top4。
🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。
🏆本文已收录于专栏:Linux命令大全。
🏆本专栏我们会通过具体的系统的命令讲解
加上鲜活的实操案例
对各个命令进行深入讲解。欢迎提前锁定关注。
🎉欢迎 👍点赞✍评论⭐收藏
文章目录
- 一、什么是 Linux Sed 命令?
- 二、如何使用 Linux Sed 命令?
- 三、高频使用示例
- 3.1 替换文本
- 3.2 按行号替换指定行
- 3.3 删除指定行
- 3.4 查找并删除指定文本所在的行
- 3.5 显示特定行之间的内容
- 3.6 插入新行
- 3.7 追加新行
- 3.8 根据正则表达式匹配行,并替换其内容
- 3.9 在指定行之前或之后添加文本
- 3.10 多个编辑命令的组合
- 3.11 使用正则表达式进行全局替换
- 3.12 删除文件内容中的空白行
- 3.13 打印指定行号的内容
- 3.14 根据行号范围删除多行
- 3.15 查找并替换指定行的内容
- 四、总结
一、什么是 Linux Sed 命令?
Linux Sed(stream editor)命令是一种流式文本编辑器,用于对文本进行修改、替换和删除等操作。它可以读取输入的文本流,按照指定规则处理后输出结果,通常与管道命令一起使用。Sed是一个非交互式的命令行工具,可以批量处理大型文件,并使用简单的脚本语言进行编辑。
二、如何使用 Linux Sed 命令?
Sed 命令的基本语法为:
sed OPTIONS 'script' input_file(s)
其中,OPTIONS
是可选的参数,用于设置 Sed 的不同功能选项;script
是 Sed 脚本,用于指定 Sed 的操作命令;input_file(s)
是要处理的输入文件。如果未指定输入文件,则从标准输入读取数据。
Sed 命令可以根据需求来编辑文本,常用的操作命令包括查找和替换、删除指定行、插入和追加文本等。
以下是 15 个实际的例子,展示了 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
在文件 file.txt
中,找到匹配 “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 命令,以达到预期的文本编辑效果。实际工作用,通过组合和修改这些命令,可以应对不同场景下的文本编辑需求。