基本 | 三剑客-sed
约 741 字大约 2 分钟
基本 | 三剑客-sed
sed
是一个流文本编辑器,用于处理文本流并进行文本转换、替换等操作。以下是从入门到高级的sed
命令详细讲解,包括一些常用的选项。
入门
1. 基本替换
要在文本中进行基本替换,只需在命令行中输入以下命令:
sed 's/原始文本/新文本/' 文件名
例如,要将文件file.txt
中的所有apple
替换为banana
,可以执行以下命令:
sed 's/apple/banana/' file.txt
进阶
2. 替换指定行
使用行号来指定替换操作仅对特定行生效:
sed '行号s/原始文本/新文本/' 文件名
例如,要在文件file.txt
的第3行替换apple
为banana
,可以执行以下命令:
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...