我有raid设置,我想将设备ID与已安装的云端硬盘相匹配。谢天谢地,输出是0-15。我使用的以下命令是:
MegaCli -LdpdInfo -a0 | awk '/Target Id:/ {print $3}'
MegaCli -LdpdInfo -a0 | awk '/Device Id:/ {print $3}'
lsscsi | awk '/MR9260-16i/ {print $6}'
我正在研究一个简单的脚本,它以一个put和work开始,然后我添加了第二个输出但是没有用,但是在第一个输出之后添加了结果,如下所示:
/dev/sdb
/dev/sdc
/dev/sdd
/dev/sde
/dev/sdg
/dev/sdh
/dev/sdi
/dev/sdj
/dev/sdk
/dev/sdl
/dev/sdm
/dev/sdn
/dev/sdo
/dev/sdp
/dev/sdq
/dev/sdr: 104
113
210
211
212
216
217
218
219
220
221
222
223
224
225
226
我就像“废话......不行”,无论如何这里是我的剧本
# Prints the Device ID of each drive on the Raid Controller.
perform_target() {
MegaCli -LdpdInfo -a0 | awk '/Device Id:/ {print $3}'
}
# Prints each mounted drive out that is on the Raid Card.
perform_drive() {
lsscsi | awk '/MR9260-16i/ {print $6}'
}
printf ' %s\n' "$(perform_drive)" "$(perform_target)";
答案 0 :(得分:1)
如果您在单独的文件中有两列,则可以使用paste
加入它们:
$ cat file1
/dev/sdb
/dev/sdc
/dev/sdd
$ cat file2
104
113
210
$ paste file1 file2
/dev/sdb 104
/dev/sdc 113
/dev/sdd 210
答案 1 :(得分:1)
您不需要两次调用MegaCli:
MegaCli -LdpdInfo -a0 | awk <<'EOF'
/Target Id:/ {printf("%s: ", $3)}
/Device Id:/ {print $3}
EOF