【发布时间】:2015-02-13 21:57:28
【问题描述】:
我希望将输出结果 grep 到第二列和第三列:
1 db1 ADM_DAT 300 yes 95.09
2 db2 SYSAUX 400 yes 94.52
并将它们转换为数组,例如:
outputres=("db1 ADM_DAT" "db2 SYSAUX")
然后能够在循环中读取这些值,例如:
for i in "${outputres[@]}"; do read -r a b <<< "$i"; unix_command $(cat file|grep $a|awk '{print $1}') $a $b;done
文件:
10.1.1.1 db1
10.1.1.2 db2
最终预期:
unix_command 10.1.1.1 db1 ADM_DAT
unix_command 10.1.1.2 db2 SYSAUX
这只是一个理论上的例子,我不确定它是否有效。
【问题讨论】:
-
试试
awk '{print $2,$3}' file -
@Avinash Raj ,很好,但它们不会出现在数组中,这是仅输出结果的最简单部分,我的想法是让它们出现在数组中,而不仅仅是为了显示它们。
-
然后:
mapfile -t outputres < <(awk '{print $2,$3}' file).