sed 主要用于自动编辑一个或多个文件,怎么说呢,命令行 vim?
参数说明:
-e --expression=<script> 以选项中指定的 script 来处理输入的文本文件
-f --file=<script> 以选项中指定的 script 来处理输入的文本文件
-n 或 --quite 或 --silent 仅显示处理后的结果
-i 表示直接修改文件内容
动作说明:
a 新增字符串,a 后直接跟字符串即可,a 前的数字表示在哪一行后新增
c 取代,c 后面可以直接接字符串,字符串前是一个 ^\d+(,\d)?\d+$ 表示从哪里到哪里替换
d 删除,后面不接东西,前面和 c 一样表示哪里删除
i 插入,后面可接字符串,这些字符串会在哪一行的上一行出现,使用与 a 一致
p 打印,字符串前是一个 ^\d+(,\d)?\d+$ 表示从哪里到哪里打印
s 取代,sed 's/要被取代的字串/新的字串/g',表示将每行第一次出现的字符串用新字符串替换,然后将文件内容输出到标准输出
基本都是前行数后内容
注意:
sed -e '3,$d'表示 删除第三行到末尾的数据
sed -i '$a # This is a test'表示在最后一行增加
可以用多个 -e 实现同时多个编辑