# sed 命令

# 简介

sed是一个流编辑器,用于对文本进行过滤和转换。

# 语法

sed [选项] '命令' [输入文件...]

# 常用选项

  • -n:仅显示处理后的行
  • -i:直接修改文件内容
  • -e:执行多个命令
  • -f:从文件读取命令
  • -r:使用扩展正则表达式

# 常用命令

  • p:打印
  • d:删除
  • s:替换
  • a:追加
  • i:插入
  • c:更改

# 使用示例

# 替换文本
sed 's/old/new/' file.txt

# 替换所有匹配项
sed 's/old/new/g' file.txt

# 直接修改文件
sed -i 's/old/new/g' file.txt

# 删除空行
sed '/^$/d' file.txt

# 打印特定行
sed -n '1,5p' file.txt

# 在特定行后添加文本
sed '3a\新文本' file.txt

# 多个命令组合
sed -e 's/old/new/g' -e '/^$/d' file.txt

# 最佳实践

  1. 使用引号包围命令

    • 避免shell解释特殊字符
    • 使用单引号避免变量展开
  2. 备份重要文件

    • 使用-i选项时注意备份
    • 先测试命令再修改文件
  3. 正则表达式使用

    • 合理使用基本/扩展正则表达式
    • 注意转义特殊字符
  4. 性能优化

    • 合并多个命令减少文件读写
    • 避免处理过大的文件