bash - for循环追加变量bash 6
问题描述
我有这个脚本,我有多个结果。
如何将多个结果输出到一个变量中?
示例:第一个循环的结果是英语,第二个循环是意大利语。
我需要变量中的最终结果:英语意大利语
for i in $(ls -l $1/$2/);do
if [[ $i =~ .*\.idx$ ]];then
tr -d '\r' < $1/$2/$i > $1/$2/newfile
rm -f $1/$2/$i
mv $1/$2/newfile $1/$2/$i
results=$(cat $1/$2/$i |awk '/^# alt:/ { a[$3] } END { for (l in a) { printf("%s%s", c, l); c = " " } printf("\n") }')
echo "Results for $i : $results"
fi
done
解决方案
如果使用以下语法,则可以在单个变量中获取所有结果:
variable=$(command)
您可能会发现将代码放入函数中然后像这样调用它很有用:
function command() {
# your code from above
}
results=$( command "$@" )
推荐阅读
- c# - 氧绘图条宽度
- automation - 如何使用 UIA2 或 UIA3 访问 FlaUI 未读取的元素?
- javascript - 尝试发送 USDC 时无法获取钱包签名者 @solana-labs/web3.js
- c++ - c++随机数,均匀分布
- javascript - 我想计算数组中匹配的相邻项目并返回计数
- android - Flutter 应用程序:如何在新版本更新中替换或不替换 /assets 文件?
- json - 如何在 Flutter 中构建这个 JSON 对象?
- c - 在 C 程序的 main 函数中访问 argc
- r - 为什么 anomalize::time_decompose() 的输出包含“median_spans”列而不是趋势列?
- python - 如何在numpy python中有效地为直线上的所有像素着色