shell之sed
sed [options] 'command' file_name options -i 直接修改原文件 -n -e 组合多个 sed 命令 command s/xx/yy/ 替换xx为yy i 插入 a 追加 d 删除 g G 全局 p 打印
sed 's/old_text/new_text/' filename.txt # 将文件中首次出现的 old_text 替换为 new_text sed 's/old_text/new_text/2' filename.txt # 替换每行中第二个出现的 old_text sed 's/old_text/new_text/g' filename.txt # 替换所有出现的 old_text 为 new_text sed -i 's/old_text/new_text/g' filename.txt # -i 直接修改原文件; 默认情况下不修改原文件 sed '2d' filename.txt # 删除文件中的第 2 行 sed '/pattern/d' filename.txt # 删除所有包含 pattern 的行 sed '/^$/d' filename.txt # 删除文件中的所有空行 sed '2i\This is a new line' filename.txt # 在第 2 行 之前 插入 This is a new line sed '2a\This is a new line' filename.txt # 在第 2 行 之后 插入 This is a new line sed '2,4s/old_text/new_text/' filename.txt # 替换第 2 行到第 4 行之间的 old_text 为 new_text sed -n '2p' filename.txt # 仅打印文件中的第 2 行 sed -n '/pattern/p' filename.txt # 打印出包含 pattern 的所有行 sed -e 's/old_text/new_text/g' -e '/pattern/d' filename.txt # 先替换所有的 old_text 为 new_text,然后删除包含 pattern 的行
END