【发布时间】:2013-12-26 17:29:17
【问题描述】:
我有一个关于ls 命令的基本问题。
假设在一个目录中我有 4 个名为
run
run1
running
run.sh
所以,如果我这样做:ls -l|grep run*,那么我不会得到任何结果。
但如果我这样做ls -l|grep run.*,那么我会得到run.sh。
但是我希望grep 列出这两种情况下的所有文件。
你能让我了解幕后发生的事情吗?
【问题讨论】:
-
grep 代表
global regular expressions print而不是global wildcard print。run*是通配符语法;run.*是正则表达式语法。 -
另外注意不推荐解析ls。见mywiki.wooledge.org/ParsingLs。
-
我认为 ls 的输出仍然是允许的,不是吗?