寻找一种在过滤目录时基于正则表达式创建 bash 数组的方法。
例如我这样做:
A. local -a arr=( "$1"/* ); arr=( "${arr[@]##*/} );
- Creates array of all contents of the path sent in $1.
B. local -a arr=( "$1"/*"$2" ); arr=( "${arr[@]##*/}" );
- Creates array on filter expression in $2.
(我不知道为什么 * 没有出现"$1"/*"$2"
在 B 中。如果我把 2 ** 都显示出来!)
但它只适用于简单的表达式:示例 '.pub' - 列出所有公钥。
但是,如果我发送“z.*.zip”来查找所有以“z.”开头的 zip 文件。不起作用。
我什至尝试取出*"$2"
in arr=( "$1"/*"$2" )
。
*"$2"
没有出现!
您的帮助将不胜感激。
谢谢你。