基本 | 三剑客-sed

哇哩哇哩哇通用技能LinuxLinux命令约 741 字大约 2 分钟

基本 | 三剑客-sed

sed 是一个流文本编辑器,用于处理文本流并进行文本转换、替换等操作。以下是从入门到高级的sed命令详细讲解,包括一些常用的选项。

入门

1. 基本替换

要在文本中进行基本替换,只需在命令行中输入以下命令:

sed 's/原始文本/新文本/' 文件名

例如,要将文件file.txt中的所有apple替换为banana,可以执行以下命令:

sed 's/apple/banana/' file.txt

进阶

2. 替换指定行

使用行号来指定替换操作仅对特定行生效:

sed '行号s/原始文本/新文本/' 文件名

例如,要在文件file.txt的第3行替换applebanana,可以执行以下命令:

sed '3s/apple/banana/' file.txt

3. 执行多个替换

可以通过添加多个替换规则来执行多个替换操作:

sed -e 's/原始文本1/新文本1/' -e 's/原始文本2/新文本2/' 文件名

例如,要同时将文件file.txt中的apple替换为banana,将orange替换为grape,可以执行以下命令:

sed -e 's/apple/banana/' -e 's/orange/grape/' file.txt

高级

4. 使用正则表达式

sed 支持正则表达式替换。例如,要将文件file.txt中的所有数字替换为空字符串,可以执行以下命令:

sed 's/[0-9]//g' file.txt

5. 插入和追加文本

使用 i 命令可以在特定行之前插入文本,使用 a 命令可以在特定行之后追加文本:

sed '行号i 新文本' 文件名
sed '行号a 新文本' 文件名

6. 删除指定行

使用 d 命令可以删除特定行:

sed '行号d' 文件名

7. 保存替换结果

默认情况下,sed 将输出结果打印到终端。如果要保存更改,可以使用 -i 选项:

sed -i 's/原始文本/新文本/' 文件名

8. 统计替换次数

使用 -c 参数,你可以统计替换的次数:

sed -c 's/原始文本/新文本/' 文件名

9. 打印匹配行

使用 -p 参数,你可以打印匹配的行,这在与其他操作一起使用时非常有用:

sed -p 's/原始文本/新文本/' 文件名

10. 静默模式

使用 -n 参数,可以关闭自动打印模式,只有经过特殊指令的行才会被打印出来:

sed -n 's/原始文本/新文本/p' 文件名

11. 使用脚本文件

使用 -f 参数,可以指定一个 sed 脚本文件来执行多个编辑操作:

sed -f 脚本文件 文件名

总结

通过 sed 命令,你可以在文本中进行强大的替换、插入、追加和删除操作,还可以使用正则表达式进行高级操作。


Loading...