【发布时间】:2022-01-13 18:41:18
【问题描述】:
我安装了某个软件的多个版本(我们称之为MySoftware),我喜欢通过find 和grep 的组合找到特定版本的路径。
假设我有以下版本:
1.12.0
1.12.2
1.42.2
存储方式如下:
~/src/MySoftware/1.12.0/...
~/src/MySoftware/1.12.2/...
~/src/MySoftware/1.42.2/...
在 shell 中,我可以执行 find . -name MySoftware | grep 1.12.0 之类的操作。这是有效的,因为命令给了我 ~/src/MySoftware/1.12.0/ 路径。
但是,当切换到 shell 脚本时,我尝试这样做:
find . -name "MySoftware" -exec grep "1\.12\.0" {} ';'
然而,上面的例子没有返回任何东西,我不知道为什么。 grep -HF "1.12.0" 的其他尝试也不起作用。我很感激任何建议
【问题讨论】:
-
您的文件
MySoftware包含字符串1.12.0? -
@Cyrus:是的,抱歉,不清楚。我改成文字了
-
鉴于问题中的目录结构,我无法理解命令
find . -name MySoftware | grep 1.12.0如何给出~/src/MySoftware/1.12.0/