sed在用明森参数-i的时候没枣,会在你处理的文件所在目录中创建临时文件,然后删除掉(如sed语法出错,有可能会出现临时文件被创建,但是没有被删掉的情况).不用-i参数的话不激察亩会生成临时文件.
sed -i 选项就可以修改原文件默认是不改变原文件的,不改变原文件是不是相当于没有太大用处呢?我们可以看看其他Linux命令,大部分也亮慧饥是不改变原文件的,比如sort、awk、cat……
他们的作用是将文件内容处理后可以用管道传递给另一个命名,很多时候只是关心处理的结果,因为用管道传递,下个命令不去用原文件或其他临时文件;敬返如果实在需要一个文碧蔽件,也可以将处理结果导入到一个临时文件。
sed编辑器。sed编辑器逐行处理文件(或输入),并将输出结果发送到屏幕。sed的命令就是在vi和ed/ex编辑器中见到的那些。sed把当前正在处理的行保存在一个临时缓存区中,这个缓铅戚存区称为模式空间或临时缓冲。sed处理完模式空间中的行后(即在该行上执行sed命令后),就把改行发送到屏幕上(除非之前有命令删除这一行或取消打印 *** 作)。猛激兆
sed每处理完输入文件的最后一枝租行后,sed便结束运行。sed把每一行都存在临时缓存区中,对这个副本进行编辑,所以不会修改或破坏源文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)