我需要获取扩展名为 .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/