我正在尝试使用locate命令在主文件夹中查找文件,但是,每当尝试运行此文件时,都不会得到任何结果:
locate -i -l 4 --regexp '^\/home\/jack\/[A-Za-z0-9\/\ ]*(My.)*$'
我也尝试过,^\/home\/jack\/^(?!\.)[A-Za-z0-9\/\ ]*(My.)*$
但是也不会返回任何结果。
我要测试的文件是 /home/jack/Music/Foals/My Number.flac
我想从搜索中排除隐藏文件的结果。
抱歉,我使用的是正则表达式生成器,建议我转义那些字符,而我猜你对-b标志是正确的,我现在将其删除
—
Jack Jones
什么是
—
Hauke Laging
(My.)*
应该做的?My.*$
作品。您必须逃脱()
基本RE。
您正在使用扩展的正则表达式。但是
—
Mikel
--regexp
需要一个基本的正则表达式。尝试更改--regexp
为--regex
(no p
)。手册页说--regex
确实进行了正则表达式匹配。
locate
。结合-b
(即“仅将基本名称与指定的模式进行匹配”。)和in中的路径是否有意义--regexp
?为什么要逃避/
S?