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

如何批量修改 Linux 主机上的 Html 文件的字符串?

  •  
  •   GreenJoson · 2015-02-04 11:54:27 +08:00 · 2847 次点击
    这是一个创建于 3608 天前的主题,其中的信息可能已经有所发展或是发生改变。

    linux上有一个网站,因为统计代码的问题,需要全部更改统计代码,有很多静态的Html文件,请问如何批量替换掉所有包括《统计代码》的.html文件~

    想把cnzz的统计换掉求方法文件数量估计上万以上~~

    19 条回复    2015-02-05 16:13:20 +08:00
    mjVtb96d2bap2u3Z
        1
    mjVtb96d2bap2u3Z  
       2015-02-04 12:06:04 +08:00
    打包下载到win,用notepad++批量替换如何?
    mahone3297
        2
    mahone3297  
       2015-02-04 12:33:59 +08:00
    find ... awk...sed... ???我不太会。。。
    wzxjohn
        3
    wzxjohn  
       2015-02-04 12:35:02 +08:00
    @mahone3297 只用 sed 就夠了,這麼簡單的替換完全不需要 awk 。。。
    extreme
        4
    extreme  
       2015-02-04 13:04:01 +08:00
    用for循环,find,以及sed:
    for i in $(find 网站根目录 -name *.html)
    do
    sed -i "s/原内容/欲替换为的内容/g" ${i}
    done
    zealic
        5
    zealic  
       2015-02-04 13:33:43 +08:00
    sed/grep/python
    GreenJoson
        6
    GreenJoson  
    OP
       2015-02-04 18:06:35 +08:00
    @ali727 .....这得多坑啊。几万个html哦。。然后改完还要上传。。。。
    GreenJoson
        7
    GreenJoson  
    OP
       2015-02-04 18:07:32 +08:00
    @extreme 等下测试下是否能用。。这是脚本吗?还是啥~?
    extreme
        8
    extreme  
       2015-02-04 18:11:25 +08:00
    @GreenJoson 在Linux的终端上执行,用Bash Shell。
    em70
        9
    em70  
       2015-02-04 18:39:16 +08:00 via Android
    文件怎么制作的就怎样改咯,静态文件难道手工制作的吗
    vivisidea
        10
    vivisidea  
       2015-02-04 19:41:13 +08:00
    sed 可以的,仔细看下 sed 的 manual

    另外,很重要的一点,先做好备份再操作!!!
    GreenJoson
        11
    GreenJoson  
    OP
       2015-02-04 23:36:08 +08:00
    @vivisidea 嗯。谢谢。~~
    scenix
        12
    scenix  
       2015-02-04 23:39:26 +08:00
    图省事可以用楼上的sed方式,做之前备份一下。
    也可以用任何一种脚本语言。比如python,perl什么的,都有字符串替换函数的,可读性比sed好些。
    jiyee
        13
    jiyee  
       2015-02-04 23:40:27 +08:00
    man sed
    imn1
        14
    imn1  
       2015-02-05 00:35:31 +08:00
    才几万个不算多……
    xmi
        15
    xmi  
       2015-02-05 01:22:45 +08:00
    cnzz统计,不就一个页脚吗... 一个footer.html不就好了? 现在辛苦了吧
    hxsmq
        16
    hxsmq  
       2015-02-05 08:23:21 +08:00 via iPhone
    直接正则表达式...
    GreenJoson
        17
    GreenJoson  
    OP
       2015-02-05 16:10:51 +08:00
    @xmi ...是一个footer.html啊。但问题是生成的静态,而且还存在一些之前的老页面,重新生成不太符合逻辑~~唉,没办法~~
    GreenJoson
        18
    GreenJoson  
    OP
       2015-02-05 16:11:35 +08:00
    @hxsmq 我也知道正则表达式,关键是在linux服务器上,要是win的话,在远程桌面一个批量替换软件就可以解决了。。。
    GreenJoson
        19
    GreenJoson  
    OP
       2015-02-05 16:13:20 +08:00
    @scenix 能不能给个python 解决一下,我不会Python..

    我想用php,但感觉Php解决好蛋疼一样~~

    求一个python脚本吧~~

    需求:

    可以自定义目录,可以自定义要查找的文件后缀,支持字符串查找替换。能批量就行了。~~~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2320 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 02:06 · PVG 10:06 · LAX 18:06 · JFK 21:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.