【发布时间】:2018-09-10 09:35:52
【问题描述】:
我有以下目录:
.
|__ scripts
|
|__ logs
在我的logs 文件夹中,我得到了这样格式化的文件:
AAAAAAA_X1-09-09-2018.log
BBBBBBB_Y2-09-09-2018.log
CCCCCCC_Z3-09-09-2018.log
当我从logs 运行命令ls | grep AAAAAAA*.log" 时,它工作正常:
user /my/path/logs #> ls | grep AAAA*log
AAAAAAA_X1-09-09-2018.log
但如果从scripts 目录运行,我找不到匹配项:
user /my/path/scripts #> ls ../logs | grep AAAAA*log
我注意到命令ls ../logs | grep AAAAA* 可以工作,但我必须强制匹配.log(有时会在该目录中生成其他文件)。我可以通过这样做来解决这个问题:
ls ../logs | grep AAAAA* | grep log
但我想知道,为什么 ls ../logs | grep AAAAA*log 不适用于 scripts 而 logs?
【问题讨论】:
-
grep AAAA*log真的只是grep AAAAAAA_X1-09-09-2018.log。*在运行 grep 之前已扩展。