在 Unix 中,是否可以列出起点后的目录条目?

在 Unix 中,是否可以列出起点后的目录条目?

例如,如果我的目录包含文件 a、b、c、c1、c2、c3、c4、d、e、f、g

是否有类似以下伪代码的命令

ls-文件名>“c2”

仅列出文件 c3、c4、d、e、f

编辑: 修改问题以解决更普遍的情况

答案1

啊 - 您的意思是要按词汇顺序进行搜索。使用这个:

ls | awk '$1 >= "c3" && $1 <= "f" {print;}'

答案2

在 bash 中,你可以执行以下操作:

$ ls [df]*

或者你可以编写一个 shell 脚本。

答案3

使用正则表达式:

ls | egrep "[d-z].*"

对于像您这样的奇怪请求,通常都是这种情况。您要求 ls 执行一些非常不寻常的操作,并且需要理解目录名称的词汇结构。

请访问以下网址学习正则表达式:正则表达式信息

并输入:

man grep

阅读 的手册页grep

答案4

与上一个答案类似:

使用 shell 的文件名扩展,而不是使用 egrep:

ls [d-z]*

相关内容