在给定字符串之前按字母顺序查找文件

Mik*_*eck 8 bash filter

如果我有一个充满文件和子目录的目录。仅列出按字母顺序排列在给定字符串之前的常规文件的最佳方法是什么?

目前我可以使用 bash 做的最好的事情如下:

for x in `find . -maxdepth 1 -type f | sort`
do
   if [[ "$x" > './reference' ]]
   then
      break
   fi

   echo $x
done
Run Code Online (Sandbox Code Playgroud)

我觉得有一种更简洁的方法可以做到这一点,但我不确定它是什么。有任何想法吗?

iru*_*var 4

如果你需要全部

 find . -maxdepth 1 -type f | sort |  awk '$0 > "./reference"'
Run Code Online (Sandbox Code Playgroud)

如果你需要第一个

 find . -maxdepth 1 -type f | sort |  awk '$0 > "./reference"{print;exit}'
Run Code Online (Sandbox Code Playgroud)