【发布时间】:2012-10-06 14:16:59
【问题描述】:
我是新来的,我会尽力解释我的问题:)
我想写一个备份脚本来保存KVM使用的所有lv。
操作系统:Ubuntu 服务器 x64 12.04
重击 4.2.24
XML 文件内容:
<source file='/dev/vg1/lv1'/>
<source file='/dev/vg1/lv2'/>
我的 grep/cut 命令
grep "<source file='.*.'/>" /backup/$SRCNAME/$DATUM/$SRCNAME.xml | cut -f2 -d"'" | cut -f4 -d"/"
这个输出
lv1
lv2
如何让它对每个输出做一些事情 - 将输出存储在数组中是最好的方式吗?
我已经搜索了 2 天的答案 :( 我尝试了一些循环和管道,但没有任何效果,因为我的 grep 命令太具体了:/
【问题讨论】:
-
你想对输出做什么?你的意思是把结果传给
xargs? -
对了,你可以把
grep和cut组合成:sed -n "s/<source file='\/.*\/\(.*\)'\/>/\1/p" /backup/$SRCNAME/$DATUM/$SRCNAME.xml -
我只需要输出来创建逻辑卷的快照然后压缩它们。如果虚拟机可以有不同数量的硬盘,那么我需要将它们读出并循环它:) 也尝试使用 sed 但它总是给我类似
miss s end tag的东西现在试试你的线:)
标签: arrays bash variables grep cut