如何以递归方式搜索具有特定字符串的目录名称(其中该字符串只是目录名称的一部分)?
例如:目录名称是“8.0.3-99966_en”,但我想递归搜索包含字符串“99966”的目录。
答案1
您可以使用以下find
命令:
find YOUR_STARTING_DIRECTORY -type d -name "*99966*" -print
例子:
find ~ -type d -name "*99966*" -print
-type d
应该从您的主目录 ( ) 开始查找所有名称~
包含字符串“99966” ( ) 的目录 ( -name "*99966*"
),并输出它们 ( -print
)。
答案2
答案3
您可以通过管道将输出突出grep
显示目录名称,
例如
find / -type d | grep "directory name"
表示/
搜索整个计算机
答案4
一个简单的方法是使用find | egrep string
。如果匹配次数过多,则使用-type d
find 标志。在要搜索的目录树的开头运行该命令,否则您还必须提供目录作为参数find
。
另一种方法是使用ls -laR | egrep ^d
。
这个locate
命令也派上用场了:locate string