arrays - bash:在查找函数中使用参数填充数组

标签 arrays bash find parameter-passing

我正在通过脚本搜索文件。为了处理结果,find 用结果填充一个数组。我是这样装的

RANGE=$1
arr=( $(find /net/nas3/mediadata/xmlprodpictures/tui ! -iname "* *" -iregex '.*/big/[${RANGE}]/.*\(jpg\|gif\|png\|jpeg\)' -type f | sort) ) 

它不起作用,但如果我直接在行中设置参数,它就会起作用。

正确转义的问题?

提前谢谢

最佳答案

尝试使用readarray代替:

RANGE=$1
readarray -t ARR < <(find /net/nas3/mediadata/xmlprodpictures/tui ! -iname "* *" -iregex ".*/big/[${RANGE}]/.*"'\(jpg\|gif\|png\|jpeg\)' -type f | sort)
printf "Value: %s\n" "${ARR[@]}"

关于arrays - bash:在查找函数中使用参数填充数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18653704/

相关文章:

arrays - 给定一个整数数组,以近似相等的距离调整数组的大小

c++ - 从多行文本文件构建数组

bash 快捷方式使 stdin 来自/dev/null,stdout 和 stderr 都转到/dev/null

mysql - 无法从bash连接到docker中的mysql

Jquery 查找 'pre' 应用 css

jQuery 查找/是 (':visible' )问题

python - 在 python () 中查找作为集合数组成员的数组元素

javascript - 一维到二维数组javascript

bash - 从 .sh 脚本启动时,Emacs 看不到 agda

linux - 查找不包含 "*.sql"文件的目录