例如,如果我的目录包含文件 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]*