V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
nonozone
V2EX  ›  问与答

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

  •  
  •   nonozone · 2013-01-26 09:43:32 +08:00 · 3000 次点击
    这是一个创建于 4123 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我现在有一堆网站要修改配置文件,紧紧是修改里面配置文件的数据库密码
    比如
    aaa.com/html/config.php
    bbb.com/html/config.php
    ...


    zzz.com/html/config.php

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

    有没有办法?

    顺便请教个mysql的问题,同样也需要需改这一批网站的用户密码,我知道怎么修改单个网站的用户密码,但是在phpmyadmin如何把这些网站的用户密码都改过来?请教这个mysql命令啊...
    14 条回复    1970-01-01 08:00:00 +08:00
    momou
        1
    momou  
       2013-01-26 10:05:58 +08:00
    第一个问题
    sublime text 2-->find-->find in files 查找替换
    nonozone
        2
    nonozone  
    OP
       2013-01-26 10:08:21 +08:00
    @momou 如果是vim呢,在服务器上呢...
    momou
        3
    momou  
       2013-01-26 10:23:36 +08:00
    不会vim,grep能满足你的要求,具体谷歌吧。。。
    laoyang945
        4
    laoyang945  
       2013-01-26 10:31:28 +08:00
    vim里面用args载入文件列表,用argdo执行批量操作,细节请google
    Kymair
        5
    Kymair  
       2013-01-26 10:34:34 +08:00
    find /srv/htdocs -name "config.php" -exec sed -i 's/xxxxxx/yyyyy/g' {} \;
    swulling
        6
    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
        7
    nonozone  
    OP
       2013-01-26 10:51:00 +08:00
    请教个楼上两位,最后面的那个 {} 代表的啥意思?

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

    现在我已经知道单个数据库里如何替换字段,就是不知道有没有方法把所有的数据库都走一次这个命令。mysql有没有类似用 * 匹配所有数据库的功能?
    swulling
        10
    swulling  
       2013-01-26 11:18:21 +08:00
    @nonozone 我看错题目了。。你可以用shell组合一下mysql命令
    Kymair
        11
    Kymair  
       2013-01-27 16:03:29 +08:00
    @swulling 麻烦问一下我提供的command里面哪里写错了吗?
    swulling
        12
    swulling  
       2013-01-27 17:23:44 +08:00
    @Kymair 没错啊,只不过我回复的时候你的回复还没刷出来,只差几s
    BOYPT
        13
    BOYPT  
       2013-01-28 09:20:38 +08:00
    ...你们用户网站密码的位置还不一样啊,居然用的上匹配……
    nonozone
        14
    nonozone  
    OP
       2013-01-29 19:23:59 +08:00
    @BOYPT 一样啊,但是域名目录不同啊。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2500 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 01:31 · PVG 09:31 · LAX 18:31 · JFK 21:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.