zoukankan      html  css  js  c++  java
  • vim批量在文件每行添加内容以及查询cloudstack模板是否是增量

    一.接着上文(更改cloudstack二级存储),从cloud数据库里查出的所有模板名称以及模板位置语句

    SELECT tpl.`name`,img.id, img.`url`,tplref.`install_path` FROM vm_template tpl 
    JOIN template_store_ref tplref ON tpl.`id` = tplref.`template_id`
    JOIN image_store img ON img.id = tplref.`store_id`
    WHERE tpl.`removed` IS NULL AND tplref.`install_path` IS NOT NULL AND tpl.`type` = 'USER' AND img.`id` = 1
    ORDER BY img.id ASC

    二.需求是,上面语句查到每一个模板的所在路径后,需要判断哪些模板是增量。

    1.首先我将查询到的路径内容一键复制到一个文本内。文本内容是类似下面这样的,每行。

    template/tmpl/2/211/002c10aa-8fae-3600-ba4b-9f153bc85548.qcow2
    template/tmpl/2/213/094f409c-6d2d-3e8b-941a-d0c43b52ea99.qcow2
    template/tmpl/2/214/61c8f1e2-930c-3453-a762-0ad15f2d5c30.qcow2
    template/tmpl/2/215/182c8801-22fd-3c17-bd50-badec418b241.qcow2
    template/tmpl/2/216/e94fac61-5a33-398f-938b-4a6802334418.qcow2
    template/tmpl/2/217/0cd01d32-bff2-36ef-9744-1588d74cdf62.qcow2
    template/tmpl/2/218/cee86725-8419-3e7d-91eb-d1fa1f2d8540.qcow2

    2.检验时可以使用qemu-img info 路径去检验,当返回有backing file 字段信息时,说明它是一个增量。

    3.我准备将上面的文本文件修改成一个shell脚本,修改成类似下面这样

    qemu-img info template/tmpl/2/211/002c10aa-8fae-3600-ba4b-9f153bc85548.qcow2
    qemu-img info template/tmpl/2/213/094f409c-6d2d-3e8b-941a-d0c43b52ea99.qcow2

    4.问题又来了,如何在这个文件每一行都追加相同的字符呢,如果一个个追加,那累死了,因为有好几百行,不过搜到了vim里的一个命令

    :%s/^/word/g 

    这个命令就是可以在文件每行的行首添加相同的字符,如果有空格或者其它字符的话,记得使用 符号进行转义。根据上面的要求,现在在文本里使用下面的命令即可

    :%s/^/qemu-img info /g

    5.现在文件已经修改好了,改个后缀.sh。然后运行。运行时,需要系统里有qemu-img命令,并且可以连接二级存储,然后记得过滤一下。

    6.过滤关键字(backing file),然后显示前第五行,在过滤下image字段,最后输出到文本文件中,如下

    bash nfs1.sh | grep -B5 backing | grep image > nfs1.txt

    现在就达到一开始的要求,得到那些模板是增量的。

  • 相关阅读:
    std thread
    windows更新包发布地址
    How to set up logging level for Spark application in IntelliJ IDEA?
    spark 错误 How to set heap size in spark within the Eclipse environment?
    hadoop 常用命令
    windows 安装hadoop 3.2.1
    windows JAVA_HOME 路径有空格,执行软连接
    day01MyBatisPlus条件构造器(04)
    day01MyBatisPlus的CRUD 接口(03)
    day01MyBatisPlus入门(02)
  • 原文地址:https://www.cnblogs.com/hanyifeng/p/5010801.html
Copyright © 2011-2022 走看看