请教个linux文件批量处理的问题,救急。

2013-01-26 09:43:32 +08:00
 nonozone
我现在有一堆网站要修改配置文件,紧紧是修改里面配置文件的数据库密码
比如
aaa.com/html/config.php
bbb.com/html/config.php
...


zzz.com/html/config.php

所有都是修改config.php这个文件里吧里面数据库密码的字符串从“xxxxxxx”换成“yyyyy”。

有没有办法?

顺便请教个mysql的问题,同样也需要需改这一批网站的用户密码,我知道怎么修改单个网站的用户密码,但是在phpmyadmin如何把这些网站的用户密码都改过来?请教这个mysql命令啊...
3117 次点击
所在节点    问与答
14 条回复
momou
2013-01-26 10:05:58 +08:00
第一个问题
sublime text 2-->find-->find in files 查找替换
nonozone
2013-01-26 10:08:21 +08:00
@momou 如果是vim呢,在服务器上呢...
momou
2013-01-26 10:23:36 +08:00
不会vim,grep能满足你的要求,具体谷歌吧。。。
laoyang945
2013-01-26 10:31:28 +08:00
vim里面用args载入文件列表,用argdo执行批量操作,细节请google
Kymair
2013-01-26 10:34:34 +08:00
find /srv/htdocs -name "config.php" -exec sed -i 's/xxxxxx/yyyyy/g' {} \;
swulling
2013-01-26 10:35:27 +08:00
ls各种不靠谱啊

在最上层目录用

find . -type f -name "config.php" | xargs -i sed -i 's/xxxxxx/yyyyyyy/g' {}
nonozone
2013-01-26 10:51:00 +08:00
请教个楼上两位,最后面的那个 {} 代表的啥意思?

还有数据库不能替换mysql里所有数据库么?
swulling
2013-01-26 10:52:43 +08:00
nonozone
2013-01-26 11:08:36 +08:00
@swulling 这个好像是修改数据库密码的。

现在我已经知道单个数据库里如何替换字段,就是不知道有没有方法把所有的数据库都走一次这个命令。mysql有没有类似用 * 匹配所有数据库的功能?
swulling
2013-01-26 11:18:21 +08:00
@nonozone 我看错题目了。。你可以用shell组合一下mysql命令
Kymair
2013-01-27 16:03:29 +08:00
@swulling 麻烦问一下我提供的command里面哪里写错了吗?
swulling
2013-01-27 17:23:44 +08:00
@Kymair 没错啊,只不过我回复的时候你的回复还没刷出来,只差几s
BOYPT
2013-01-28 09:20:38 +08:00
...你们用户网站密码的位置还不一样啊,居然用的上匹配……
nonozone
2013-01-29 19:23:59 +08:00
@BOYPT 一样啊,但是域名目录不同啊。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/58834

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX