bash - for 循环显示数组的所有元素而不是单个元素
问题描述
使用 bash 列出与 find 命令匹配的文件,并一次遍历它们。问题是,循环显示数组的所有元素而不是单个元素。
declare poslogs=$(find /opt/upload/archive/ -name "pospoll*" -mtime -3 -printf '%f\n')
for i in ${poslogs[@]}; do
unzip -p /opt/upload/archive/$i $poslogfn.${reg}* \
| grep -B5 "$trans" | grep -o "TransactionType.*" > $resultfile.poslog
done
结果是
+ declare 'poslogs=pospoll.1699.20211011230928.zip
pospoll.1699.20211012233221.zip
pospoll.1699.20211013232932.zip'
for i in '"${poslogs[@]}"'
+ unzip -p '/opt/upload/archive/pospoll.1699.20211011230928.zip
pospoll.1699.20211012233221.zip
pospoll.1699.20211013232932.zip' 'PosLog.1.*'
结果应该是
++ find /opt/upload/archive/ -name 'pospoll*' -mtime -3 -printf '%f\n'
+ declare 'poslogs=pospoll.1699.20211011230928.zip
pospoll.1699.20211012233221.zip
pospoll.1699.20211013232932.zip'
for i in '"${poslogs[@]}"'
+ unzip -p '/opt/upload/archive/pospoll.1699.20211011230928.zip 'PosLog.1.*'
解决方案
推荐阅读
- javascript - 如何在 JavaScript 中将 id 从另一个 const 传递给另一个 const?
- python - 从熊猫系列列表中删除换行符
- excel - 如何通过 VBA 应用特定的 Word 邮件合并列过滤器
- flutter - 将flutter升级到^2.0.0后auto_route包出现问题
- javascript - 从其他页面获取 HTML 并使用“type='module'”附加脚本后,它只工作一次然后停止
- java - 如何从 ldap 解密 wcrypt 数据?
- json - Json 序列化问题(奇数字符)
- java - Spring JPA - 如何计算外键的数量
- javascript - 初始化 server.js,然后在 HTML 页面中调用 Javascript 文件中的函数
- java - 如何读取 CSV 文件,按特定记录过滤并根据记录将其存储在不同的 java 对象中