我想操纵以下“for loop”的输出:
for i in $patch_set;do
key= 201508 #see the comments after the code
csvArr[$key]=$strings
done
for roF in $(echo -e $autopatch)
do
filename=`basename $roF`
key=201508 #see the comments after the code
echo -e "$key ${csvArr[$key]}"
done
其中:
$patch_set
存储了几个文件名,例如patch.dot
,patch2.dot
,patch3.dot
等等。patch*.dot
文件都包含字符串内容$key
不时更改 - 可以更改为201509
或某个等效日期。我刚刚在代码中使它成为静态的。 $string
是patch*.dot
个文件$autopatch
充满了这样的路径:
/backend/dot/scipts/shock/201508/SQL/file.sql
/backend/dot/scipts/shock/201509/SQL/file.sql
代码的想法是获取patch*.dot
个文件中的内容,其内容是文本。有没有办法将输出存储在某个变量中以便读取和编辑它?
答案 0 :(得分:2)
您可以将整个脚本放在$(...)
中以将其输出捕获到变量中。
var=$(
for i in $patch_set;do
key=201508
csvArr[$key]=$strings
done
for roF in $(echo -e $autopatch)
do
filename=`basename $roF`
key=201508
echo -e "$key ${csvArr[$key]}"
done)