日期:2025/04/08 13:09来源:未知 人气:57
sed(Stream Editor)是一款非常实用的工具,特别擅长处理和转换文本。想象一下,它就像一个细心的文字小助手,逐行阅读你提供的内容,然后按照你的指示进行修改或处理,最后再把结果呈现给你。无论你是需要批量编辑多个文件,还是处理大量的文本数据,sed 都能帮你轻松搞定!
选项 :控制sed
的行为。
命令 :指定对文本执行的操作。
文件名 :要处理的文件。如果不指定文件,则从标准输入读取。
s
○ 将每行中第一个匹配的“旧内容”替换为“新内容”。
○ 将每行中所有匹配的“旧内容”替换为“新内容”。
d
i
a
p
y
q
1. 多命令执行
使用 -e
指定多个命令:
sed -e 's/旧内容/新内容/' -e '2d' 文件名
使用分号分隔多个命令:
sed 's/旧内容/新内容/; 2d' 文件名
2. 使用正则表达式
匹配行首和行尾:
sed 's/^旧内容/新内容/' 文件名 # 替换行首的“旧内容” sed 's/旧内容$/新内容/' 文件名 # 替换行尾的“旧内容”
匹配任意字符:
sed 's/a.*b/新内容/' 文件名 # 替换从 a 到 b 之间的内容
3. 使用保持空间
将当前行复制到保持空间:
sed 'h' 文件名
将保持空间的内容追加到模式空间:
sed 'H' 文件名
交换模式空间和保持空间的内容:
sed 'x' 文件名
4. 分支和跳转
使用标签和跳转:
sed ':label; s/旧内容/新内容/; t label' 文件名
示例1:替换文件内容
假设有一个 file.txt
文件,内容如下:
Hello
替换为 Hi
:Hello
:示例2:删除空行
示例3:打印指定行
示例4:插入和追加
示例5:处理CSV文件
假设有一个 data.csv
文件,内容如下:
sed 是一款非常实用的流式文本编辑器,特别适合用来批量编辑文本文件或处理文本流。它结合了正则表达式、替换、删除和插入等功能,能够帮助你轻松完成各种复杂的文本处理任务。学会使用 sed 可以显著提升你在命令行中的工作效率哦!