for i in cat image-test.txt;do rbd info images $i;sleep 1s;done 获取image-test.txt里面镜像大小
时间: 2024-02-24 20:56:24 浏览: 64
如果您想要在上述的 Shell 脚本中获取 `image-test.txt` 文件中每个镜像的大小,可以使用 `rbd info` 命令的输出来解析镜像大小的信息。
`rbd info` 命令的输出类似于下面这样:
```
rbd image 'image-name':
size 10240 MB in 2560 objects
order 22 (4096 kB objects)
block_name_prefix: rbd_data.1d569c1d3a3a
format: 2
features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
op_features:
flags:
create_timestamp: Thu Jul 15 10:27:43 2021
pattern_time: 0.000000000
```
可以看到,输出中包含了镜像的大小信息,即 `size` 字段。因此,您可以在 Shell 脚本中使用 `grep` 和 `awk` 命令来查找并提取每个镜像的大小信息。
具体来说,您可以将上述 Shell 脚本修改为:
```bash
for i in $(cat image-test.txt); do
size=$(rbd info images $i | grep "^size" | awk '{print $2}')
echo "镜像 $i 的大小为 $size MB"
sleep 1s
done
```
在这个版本的脚本中,我们使用 `grep` 命令和正则表达式 `^size` 来查找输出中以 `size` 开头的行,然后使用 `awk` 命令来提取第二个字段,也就是镜像的大小。最后,使用 `echo` 命令将镜像名称和大小输出到终端。
阅读全文