我需要获取扩展名为 .tar.gz 的文件夹中的第一个文件。我想出了:

FILE=/path/to/folder/$(ls /path/to/folder | grep ".tar.gz$" | head -1)

但我觉得它可以做得更简单,更优雅。有更好的解决方案吗?

最佳答案

您可以获取数组中的所有文件,然后获取所需的文件:

files=( /path/to/folder/*.tar.gz )

获取第一个文件:
echo "${files[0]}"

获取最后一个文件:
echo "${files[${#files[@]}-1]}"

您可能希望设置 shell 选项 nullglob 来处理没有匹配文件的情况:
shopt -s nullglob

关于bash - 从文件夹中获取给定扩展名的第一个文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23423764/

10-14 18:32
查看更多