Linux sed命令详解

sed(流编辑器)是Linux/Unix系统中用于对文本进行流式编辑的命令行工具。以下是关于 sed命令的简要详解:

  1. 基本用法: sed 's/pattern/replace/g' file,用于在文件中查找匹配 pattern的文本,并将其替换为 replace

  2. 选项:

    • -i:直接在文件中修改,即原地编辑。
    • -e:允许在同一命令行上指定多个表达式。
    • -n:只打印经过 sed处理的行。
    • -r:启用扩展正则表达式。
  3. 常用操作:

    • s/pattern/replace/:替换第一个匹配的 pattern为 replace
    • s/pattern/replace/g:替换所有匹配的 pattern为 replace
    • d:删除匹配的行。
    • p:打印匹配的行。
    • i:在匹配行之前插入文本。
    • a:在匹配行之后追加文本。
  4. 正则表达式: sed支持基本正则表达式(BRE)和扩展正则表达式(ERE),可以使用 -r选项启用ERE。

  5. 使用范例:

    • sed 's/old/new/g' file.txt:替换文件中所有匹配的 old为 new
    • sed -i 's/pattern/replace/g' file.txt:在文件中原地替换匹配的 pattern为 replace
    • sed -n '/pattern/p' file.txt:只打印出匹配 pattern的行。
    • sed '/pattern/d' file.txt:删除匹配 pattern的行。

sed是一个强大的文本处理工具,通过合理的使用表达式和选项,可以实现对文本的多种操作,如替换、删除、插入等。

posted @ 2025-03-16 17:36  吴逸杨  阅读(124)  评论(0)    收藏  举报