求一个批量修改文件的脚本,是否sed命令可以解决

sh/bash/dash/ksh/zsh等Shell脚本
回复
leavingDream
帖子: 39
注册时间: 2012-03-03 22:36

求一个批量修改文件的脚本,是否sed命令可以解决

#1

帖子 leavingDream » 2015-04-26 0:29

想把一个文件夹下面的所有文件的某一行删除
如addCondition(report);
用什么命令可以一次性解决
cao627
帖子: 992
注册时间: 2007-12-05 10:57
系统: ubuntu14.04
来自: 金山

Re: 求一个批量修改文件的脚本,是否sed命令可以解决

#2

帖子 cao627 » 2015-04-26 13:21

代码: 全选

sed -i '/addCondition(report);/d' *
dynamic0603
帖子: 259
注册时间: 2008-11-14 20:35

Re: 求一个批量修改文件的脚本,是否sed命令可以解决

#3

帖子 dynamic0603 » 2015-04-26 13:29

代码: 全选

sed -i '/^addCondition(report);$/d' *
上面的命令是删除addCondition(report);的行,^代表一行的开始,$代表一行的结尾。如果要删除包含addCondition(report);的行,则把^和$去掉即可
leavingDream
帖子: 39
注册时间: 2012-03-03 22:36

Re: 求一个批量修改文件的脚本,是否sed命令可以解决

#4

帖子 leavingDream » 2015-04-26 14:49

dynamic0603 写了:

代码: 全选

sed -i '/^addCondition(report);$/d' *
上面的命令是删除addCondition(report);的行,^代表一行的开始,$代表一行的结尾。如果要删除包含addCondition(report);的行,则把^和$去掉即可
多谢,能不能把受到影响的行都显示出来,然后可以看到改了哪些行? 还有就是是否这些修改可以撤销
上次由 leavingDream 在 2015-04-26 20:29,总共编辑 1 次。
头像
astolia
论坛版主
帖子: 6703
注册时间: 2008-09-18 13:11

Re: 求一个批量修改文件的脚本,是否sed命令可以解决

#5

帖子 astolia » 2015-04-26 17:29

你该用版本控制系统了
loujiaye
帖子: 29
注册时间: 2013-10-16 12:43
系统: ubuntu 12.04

Re: 求一个批量修改文件的脚本,是否sed命令可以解决

#6

帖子 loujiaye » 2015-04-27 15:45

leavingDream 写了:
dynamic0603 写了:

代码: 全选

sed -i '/^addCondition(report);$/d' *
上面的命令是删除addCondition(report);的行,^代表一行的开始,$代表一行的结尾。如果要删除包含addCondition(report);的行,则把^和$去掉即可
多谢,能不能把受到影响的行都显示出来,然后可以看到改了哪些行? 还有就是是否这些修改可以撤销

sed本身是不修改源文件的 需要 重定向到一个文件 所以这些修改是可以撤销的。
可以先sed -n '/^addCondition(report);$/p' *' 看下匹配的行。
也可以重定向到一个文件 用diff 比对新旧文件 或者 向LS说的,用版本控制器的比对来区分
回复