想把一个文件夹下面的所有文件的某一行删除
如addCondition(report);
用什么命令可以一次性解决
求一个批量修改文件的脚本,是否sed命令可以解决
-
- 帖子: 39
- 注册时间: 2012-03-03 22:36
-
- 帖子: 992
- 注册时间: 2007-12-05 10:57
- 系统: ubuntu14.04
- 来自: 金山
Re: 求一个批量修改文件的脚本,是否sed命令可以解决
代码: 全选
sed -i '/addCondition(report);/d' *
-
- 帖子: 259
- 注册时间: 2008-11-14 20:35
Re: 求一个批量修改文件的脚本,是否sed命令可以解决
代码: 全选
sed -i '/^addCondition(report);$/d' *
-
- 帖子: 39
- 注册时间: 2012-03-03 22:36
Re: 求一个批量修改文件的脚本,是否sed命令可以解决
多谢,能不能把受到影响的行都显示出来,然后可以看到改了哪些行? 还有就是是否这些修改可以撤销dynamic0603 写了:上面的命令是删除addCondition(report);的行,^代表一行的开始,$代表一行的结尾。如果要删除包含addCondition(report);的行,则把^和$去掉即可代码: 全选
sed -i '/^addCondition(report);$/d' *
上次由 leavingDream 在 2015-04-26 20:29,总共编辑 1 次。
- astolia
- 论坛版主
- 帖子: 6703
- 注册时间: 2008-09-18 13:11
Re: 求一个批量修改文件的脚本,是否sed命令可以解决
你该用版本控制系统了
-
- 帖子: 29
- 注册时间: 2013-10-16 12:43
- 系统: ubuntu 12.04
Re: 求一个批量修改文件的脚本,是否sed命令可以解决
leavingDream 写了:多谢,能不能把受到影响的行都显示出来,然后可以看到改了哪些行? 还有就是是否这些修改可以撤销dynamic0603 写了:上面的命令是删除addCondition(report);的行,^代表一行的开始,$代表一行的结尾。如果要删除包含addCondition(report);的行,则把^和$去掉即可代码: 全选
sed -i '/^addCondition(report);$/d' *
sed本身是不修改源文件的 需要 重定向到一个文件 所以这些修改是可以撤销的。
可以先sed -n '/^addCondition(report);$/p' *' 看下匹配的行。
也可以重定向到一个文件 用diff 比对新旧文件 或者 向LS说的,用版本控制器的比对来区分