首页 > 解决方案 > 在linux中按字母顺序查找目录中的第n个文件

问题描述

有人知道我可以用来在目录中查找第 n 个文件的 bash 命令吗?例如,我的目录中有 4 个文件

aaa,aab,aac,aad。

(我的实际目录有很多超过 4 个文件)

我可以写什么命令来获取第三个文件(aac)?

另一个问题是如何找到 aac 的索引位置(通过终端命令)(即它是 3)

标签: terminal

解决方案


简单地说,

lst=(*)
echo "${lst[2]}" # shows the 3rd file.

如果您想知道列表中aac出现的位置,

for((i=0;i<${#lst[@]};i++)); do 
  if [[ aac == "${lst[i]}" ]]; then echo "$i"; break; fi
done
2

如果你想要非零序数,echo "$((i+1))".

如果您想包含“隐藏”文件和/或排除目录等,这将变得更加复杂......这只是添加几行代码以减轻细节的问题。


推荐阅读