linux sed命令的使用-替换、删除、更新文件中的内容
简介
sed 是 stream editor 的缩写,中文称之为“流编辑器”。
sed 命令是一个面向行处理的工具,它以“行”为处理单位,针对每一行进行处理,处理后的结果会输出到标准输出(STDOUT)。
工作原理
处理时,sed 会把要处理的行存储在缓冲区中,接着用 sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。这个缓冲区被称为“模式空间”(pattern space)。
命令格式
sed command file
- command 部分:针对每行的内容所要进行的处理(这部分很重要很重要)。
- file 部分:要处理的文件,如果忽略 file 参数,则 sed 会把标准输入作为处理对象。
命令使用
{hide}
sed -i 's/char/chara/g' filename #这里是将filename的文件中所有的char替换为chara
sed '/^$/d' file #删除空白行
sed '2d' file #删除第二行
sed '2,$d' file #删除第二行到最后一行
sed '$d' file #删除最后一行
sed '/^test/'d file #删除开头为test的行
sed -i '2a\this is a test line' test.conf #将this is a test line添加至第二行
{/hide}