我是靠谱客的博主 忧心季节,最近开发中收集的这篇文章主要介绍sed实现直接修改文件内容,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 http://www.blogjava.net/zhyiwww/archive/2008/11/24/242281.html


sed是实现对流的编辑。通常,我们使用sed可以实现内容的编辑后然后保存成另外的一个文件,如果正确的话,才写入到源文件。但是某些时候,我们需要直接修改文件,因为,保存文件到一个文件,然后再覆盖原文件的办法显得很麻烦。
其实很简单,只需要一个 -i 参数就可以了。
比如,我想替换文件中的 properties 为 property ,可以使用

sed  's/properties/property/g'  build.xml
这种方式,其实并没有修改build.xml文件的内容。如果想保存修改,通常的做法就需要重定向到另外的一个文件
sed  's/properties/property/g'  build.xml > build.xml.tmp
这样,build.xml.tmp文件就是修改后的文件.
如果无误,那么就可以用
mv build.xml.tmp build.xml
覆盖原文件。
如果想直接修改源文件,而没有这样的过程,可以用下面的命令

sed  -i 's/properties/property/g'  build.xml

这样,就直接修改了build.xml文件。

 

================================

在我的机器上,下面的命令似乎有些不好使,
$sed -i 's/tatic/static/' a.txt
sed: 1: "a.txt": command a expects / followed by text

改成这样,就OK了,我的机器是Darwin Kernel Version 8.11.0
$sed -ig 's/tatic/static/' a.txt

最后

以上就是忧心季节为你收集整理的sed实现直接修改文件内容的全部内容,希望文章能够帮你解决sed实现直接修改文件内容所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部