如何查找并删除路径格式为**/**/vendor/**/**/vendor的二级嵌套vendor文件夹
如何查找并删除路径格式为**//vendor//**/vendor的二级嵌套vendor文件夹
嘿,这个需求我刚好处理过类似的,给你分平台整理了实用的方案,先验证再删除,稳妥不踩坑:
Linux/macOS 用 find 命令
第一步:先确认要删除的目标目录
先运行查找命令,看看找出来的是不是你要的二级vendor文件夹,避免误删:
# 替换成你要开始搜索的根目录,比如 "." 代表当前目录 find /path/to/your/root -type d -regex ".*/vendor/.*/vendor"
如果是macOS系统,需要加-E开启扩展正则支持:
find -E /path/to/your/root -type d -regex ".*/vendor/.*/vendor"
第二步:确认无误后删除
如果上面的查找结果都是你要删除的文件夹,就执行删除命令:
# Linux版本 find /path/to/your/root -type d -regex ".*/vendor/.*/vendor" -exec rm -rf {} + # macOS版本 find -E /path/to/your/root -type d -regex ".*/vendor/.*/vendor" -delete
小贴士:
-exec rm -rf {} +和-delete效果类似,都是删除目录及所有内容,选哪个都可以,重点是一定要先验证查找结果!
Windows 用 PowerShell
第一步:查找验证目标目录
打开PowerShell,运行以下命令(替换路径为你的项目根目录):
Get-ChildItem -Path C:\your\project\root -Directory -Recurse | Where-Object { $_.FullName -match '\\vendor\\.*\\vendor' }
第二步:确认后删除
确认结果正确后,执行删除:
Get-ChildItem -Path C:\your\project\root -Directory -Recurse | Where-Object { $_.FullName -match '\\vendor\\.*\\vendor' } | Remove-Item -Recurse -Force
如果需要更精准的匹配(比如限制中间的目录层级),可以告诉我具体需求再调整规则哦!
备注:内容来源于stack exchange,提问作者bilogic
相关产品推荐
相关产品推荐

