linux - 如何使用 find、ls 命令根据数组中的条目显示文件名?

标签 linux bash sh ksh

我有一个数组,其中包含目录中可能存在的通配符/文件名。如何显示目录中名称与数组中名称匹配的文件。顺便说一下,如果可能的话,不要使用 for 循环。

例如:

find ./ -maxdepth 1 -type f -name $FILE_ARR[@]

ls $FILE_ARR[@]

最佳答案

正确的语法是在访问数组时使用花括号:

ls ${file_array[@]}

对于 find 来说,它有点复杂,因为 -name 只接受一个参数,而不是多个。

find . -maxdepth 1 -name $(echo ${file_array[@]}| sed 's/ / -o -name /g')

请注意,如果任何路径包含空格,则该方法不起作用。

关于linux - 如何使用 find、ls 命令根据数组中的条目显示文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57292193/

相关文章:

linux - 切换用户并输出变量内容

Bash 脚本被传递了一个参数,但我想要多个

bash - awk 和 bash 脚本?

node.js - 使用 Nodejs Spawn 启动 Linux 屏幕 session

linux - Tracker-extract 和 Tracker-store 进程消耗大量 RAM

java - 哪个会导致cpu 99%ni?

linux - 损坏的符号链接(symbolic link)和一个神秘的(已删除)

shell - 如何在 Unix 中同时搜索并执行两个脚本?

linux - 用于递归列出包含具有特定扩展名的文件的文件夹中的所有子目录的 Shell 脚本

linux - 有没有办法从文件中获取 cron 作业