使用ls选择性列出文件

时间:2015-05-05 15:01:21

标签: unix grep ls

我在一个名为

的目录中有一组文件 ABC
data.txt中
你好
hello1
hello1.text
hello.txt的

我想只列出文件hello和hello1。

我尝试使用此命令ls -lrt hello* | ls -lrt !(hello*.*)

我得到的输出是

abc
data.txt
你好了hello1

管道功能在这种情况下不起作用。

请帮我解决这个问题

3 个答案:

答案 0 :(得分:1)

如果我理解正确的问题:

ls hello*

ls -l hello*

答案 1 :(得分:0)

因为你用grep标记了,试试看:

ls -l |grep 'hello1\?$'

如果数字可能是动态的,请尝试此

ls -l|grep 'hello[0-9]*$'

答案 2 :(得分:0)

使用bash扩展pattern matching

$ shopt -s extglob
$ ls hello*([^.])
hello  hello1

该模式为“hello”,后跟零个或多个非点字符。