sed(Stream Editor)核心功能编辑/替换/删除。它是一个流编辑器主要用于对文本进行逐行的非交互式修改如批量替换、删除特定行。特点默认不会直接修改原文件除非加 -i而是将结果输出到屏幕。口诀“我要怎么修改文本”。参数 说明 示例-n 静默模式。只打印被命令处理过的行 (通常配合 p 使用) sed -n 5p file (只打印第5行)-i 就地修改 (In-place)。直接修改原文件 (慎用!) sed -i s/old/new/g file-e 允许多个编辑命令 sed -e s/a/b/ -e s/c/d/ files 替换 (Substitute)。语法s/旧/新/标志 s/root/admin/d 删除 (Delete) 行 3d (删除第3行)p 打印 (Print) 行 pg 全局替换 (Global)。一行中所有匹配项都替换否则只换第一个 s/old/new/g经典用例# 1. 将文件中的所有的 foo 替换为 bar (仅输出不修改文件)sed s/foo/bar/g file.txt# 2. 直接修改文件 (备份原文件为 .bak)sed -i.bak s/foo/bar/g file.txt# 3. 删除文件中的空行sed /^$/d file.txt# 4. 删除第 10 行到第 20 行sed 10,20d file.txt# 5. 只在包含 ERROR 的行中进行替换sed /ERROR/ s/warning/critical/g log.txt# 6. 在每一行的末尾添加一个逗号sed s/$/,/ file.txt
linux sed 命令
sed(Stream Editor)核心功能编辑/替换/删除。它是一个流编辑器主要用于对文本进行逐行的非交互式修改如批量替换、删除特定行。特点默认不会直接修改原文件除非加 -i而是将结果输出到屏幕。口诀“我要怎么修改文本”。参数 说明 示例-n 静默模式。只打印被命令处理过的行 (通常配合 p 使用) sed -n 5p file (只打印第5行)-i 就地修改 (In-place)。直接修改原文件 (慎用!) sed -i s/old/new/g file-e 允许多个编辑命令 sed -e s/a/b/ -e s/c/d/ files 替换 (Substitute)。语法s/旧/新/标志 s/root/admin/d 删除 (Delete) 行 3d (删除第3行)p 打印 (Print) 行 pg 全局替换 (Global)。一行中所有匹配项都替换否则只换第一个 s/old/new/g经典用例# 1. 将文件中的所有的 foo 替换为 bar (仅输出不修改文件)sed s/foo/bar/g file.txt# 2. 直接修改文件 (备份原文件为 .bak)sed -i.bak s/foo/bar/g file.txt# 3. 删除文件中的空行sed /^$/d file.txt# 4. 删除第 10 行到第 20 行sed 10,20d file.txt# 5. 只在包含 ERROR 的行中进行替换sed /ERROR/ s/warning/critical/g log.txt# 6. 在每一行的末尾添加一个逗号sed s/$/,/ file.txt