Appearance
sed 命令
基本用法
替换文本
bash
#!/bin/bash
# 替换文本
sed 's/pattern/replacement/' file.txt删除行
bash
#!/bin/bash
# 删除行
sed '/pattern/d' file.txt常用选项
-i 选项
bash
#!/bin/bash
# 直接修改文件
sed -i 's/pattern/replacement/' file.txt-e 选项
bash
#!/bin/bash
# 执行多个命令
sed -e 's/pattern1/replacement1/' -e 's/pattern2/replacement2/' file.txt-n 选项
bash
#!/bin/bash
# 抑制自动输出
sed -n 'p' file.txt替换操作
基本替换
bash
#!/bin/bash
# 替换第一个匹配
sed 's/pattern/replacement/' file.txt
# 替换所有匹配
sed 's/pattern/replacement/g' file.txt替换特定行
bash
#!/bin/bash
# 替换第 5 行
sed '5s/pattern/replacement/' file.txt
# 替换第 5-10 行
sed '5,10s/pattern/replacement/' file.txt替换匹配行
bash
#!/bin/bash
# 替换包含 pattern 的行
sed '/pattern/s/old/new/' file.txt删除操作
删除行
bash
#!/bin/bash
# 删除第 5 行
sed '5d' file.txt
# 删除第 5-10 行
sed '5,10d' file.txt
# 删除包含 pattern 的行
sed '/pattern/d' file.txt
# 删除空行
sed '/^$/d' file.txt删除字符
bash
#!/bin/bash
# 删除特定字符
sed 's/character//g' file.txt
# 删除数字
sed 's/[0-9]//g' file.txt插入操作
插入行
bash
#!/bin/bash
# 在第 5 行前插入
sed '5i\new line' file.txt
# 在第 5 行后追加
sed '5a\new line' file.txt
# 在包含 pattern 的行前插入
sed '/pattern/i\new line' file.txt
# 在包含 pattern 的行后追加
sed '/pattern/a\new line' file.txt实用示例
示例1:批量替换
bash
#!/bin/bash
# 替换文件中的文本
sed -i 's/old_text/new_text/g' file.txt
# 替换多个文件中的文本
sed -i 's/old_text/new_text/g' *.txt示例2:删除注释
bash
#!/bin/bash
# 删除注释行
sed '/^#/d' file.txt
# 删除空行和注释行
sed '/^#/d;/^$/d' file.txt示例3:格式化文本
bash
#!/bin/bash
# 删除行首空格
sed 's/^[ \t]*//' file.txt
# 删除行尾空格
sed 's/[ \t]*$//' file.txt
# 删除所有空格
sed 's/ //g' file.txt示例4:数据转换
bash
#!/bin/bash
# 转换为大写
sed 's/.*/\U&/' file.txt
# 转换为小写
sed 's/.*/\L&/' file.txt
# 首字母大写
sed 's/\b\(.\)/\u\1/g' file.txt最佳实践
1. 使用 -i 选项
bash
# 好的做法
sed -i 's/pattern/replacement/g' file.txt
# 不好的做法
sed 's/pattern/replacement/g' file.txt > temp.txt
mv temp.txt file.txt2. 使用引号
bash
# 好的做法
sed 's/pattern/replacement/g' file.txt
# 不好的做法
sed s/pattern/replacement/g file.txt3. 使用正则表达式
bash
# 好的做法
sed 's/[0-9]/number/g' file.txt
# 不好的做法
sed 's/0/number/g; s/1/number/g; s/2/number/g' file.txt总结
sed 命令的关键点:
- 基本用法:
sed 'command' file.txt - 常用选项:
-i、-e、-n - 替换操作:
s/pattern/replacement/ - 删除操作:
/pattern/d - 插入操作:
i\、a\ - 实用示例:批量替换、删除注释、格式化文本、数据转换
- 最佳实践:使用
-i选项、使用引号、使用正则表达式
下一节我们将学习 awk 命令的使用。