0xchang 发表于 2022-7-23 12:22

grep命令相关问题

当我在一个空文件夹下面创建了三个文件,anaconda-me.cfg   install.log   install.log.syslog时,使用ls | grep *.log的回显是正确的,但是当我继续创建一个a.log文件,然后继续使用ls | grep *.log却没有任何回显,这是怎么回事呢,求助!!!!

sknbs 发表于 2022-7-24 00:39

用strace看了一下是管道写的问题,但是不知道为啥管道写会失败?等一个答案

涨知识 发表于 2022-7-24 20:05

卧槽 试了一下 还真是这样
多试了几种场景只存在一个.log结尾的文件时,能匹配到,否则无法匹配到

0xchang 发表于 2022-7-25 12:29

我又去测试了一下,不仅仅是.log后缀文件,只要存在同名的后缀,类似.a这种,只要存在两个以上,都不能匹配到

hiplease 发表于 2022-7-30 12:24

*.log使用了 shell通配符, 会按照当前目录的文件匹配, 只有 anaconda-me.cfg   install.log   install.log.syslog 时, ls | grep *.log相当于ls | grepinstall.log,   当再加a.log,ls | grep *.log 相当于ls | grepa.loginstall.log ,   就是在install.log中找a.log了, 不会从ls的输出中找了
如果你找符合*.log的文件 , 直接 ls *.log就可以了

0xchang 发表于 2022-7-31 16:13

hiplease 发表于 2022-7-30 12:24
*.log使用了 shell通配符, 会按照当前目录的文件匹配, 只有 anaconda-me.cfg   install.log   install ...

感谢解答终于明白了
页: [1]
查看完整版本: grep命令相关问题