一. 描述
sed支持正则表达式元字符
-i
:修改文件内容,不输出显示
-r
: 只对输出内容修改,不修改源文件
两者可以结合使用,-ir
格式: sed -ir 文件名
二. 删除:
1. d (删除行)
格式: sed -ir '行号d' 文件名
sed -ir '3,5d' 文件名 (删除3-5行)
sed -ir '2,$d' 文件名 (删除第二行到结尾)
sed -ir '1~2d' 文件名 (删除奇数行)
sed -ir '0~2d' 文件名 (删除偶数行)
sed -ir '/^[ \t]*$/d' 文件名 (删除配置文件的空行)
sed -ir '/^#/d' 文件名 (删除#号注释的行)
sed -ir '/^[ \t]*#/d' 文件名 (删除以空格#开头的行)
2. s (替换内容)
格式: sed -ir 's/原内容/修改内容/' 文件名
sed -ir 's/^/#/' 文件名 (把以空格开头的行添加#号)
sed -ir 's/^#//g' 文件名 (取消注释)
3. c、i、a (修改或添加):
c:修改某一行内容
i:添加内容到某二行,源第某行内容往下移
a:添加到某一行的下一行
sed -ir '2c\nihao' 文件名 (修改第二行内容)
sed -ir '2i\nihao' 文件名 (插入内容到第二行)
sed -ir '4a\nihao' 文件名 (在第四行下一行添加)