我在我的机器上使用 fedora 15。实际上,我试图通过在整个文件系统中搜索来找到名称类似于 apache-tomcat-7.0.37
的文件夹
实际上我在路径 /opt/tomcat/
中有一些文件夹,如下所示
apache-tomcat-7.0.37
apache-tomcat-6.0.34
apache-tomcat-7.0.67
.........
还有一些文件夹在/usr/share/tomcat/
apache-tomcat-4.0.7
apache-tomcat-6.0.4
apache-tomcat-8.0.6
.........
所以我想要的是使用命令从 linux 终端定位/查找/搜索所有这些文件夹路径。
我用谷歌搜索了很多,得到了一些命令,比如 locate
和 find
如下所示
find / -name apache-tomcat*
locate apache-tomcat
上面的命令列出了所有文件夹,包括文件夹的额外不需要的信息,所以实际上我想要的是,只需要搜索名称类似于 apache-tomcat-x.x.x,apache-tomcat 的文件夹-xx.xx.xx
此处文件夹名称中的起始词 apache-tomcat
相同,只有整数部分(版本号
)发生变化。所以我想找到所有具有不同版本号的文件夹,比如使用正则表达式代替整数来查找文件夹
所以任何人都可以让我知道如何使用带有正则表达式的命令或类似的命令来搜索上述场景的文件夹,该命令可以找到名称为 apache-tomcat-xx.x.xxx
.....
最佳答案
这应该找到所有具有模式 apache-tomcat-X.Y.Z 的文件、目录、链接等,其中 X、Y 和 Z 是整数。
find . -regextype sed -regex ".*/apache-tomcat-[0-9]\+\.[0-9]\+\.[0-9]\+"
如果您只查找目录,请使用此变体:
find . -type d -regextype sed -regex ".*/apache-tomcat-[0-9]\+\.[0-9]\+\.[0-9]\+"
如果要从/开始搜索整个系统,请使用此变体:
find / -type d -regextype sed -regex ".*/apache-tomcat-[0-9]\+\.[0-9]\+\.[0-9]\+"
关于linux - 从终端在 linux 中搜索/查找名称带有整数的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15105029/