PowerShell与Bash中如何获取路径含bin目录的指定文件?
PowerShell 实现方法
有两种简便方式筛选路径中包含bin目录的myfile.txt文件:
方式一:先递归查找所有目标文件,再过滤路径
Get-ChildItem -Path . -Recurse -Filter myfile.txt | Where-Object { $_.FullName -match '[\\/]bin[\\/]' }正则表达式
[\\/]bin[\\/]用来匹配路径中的bin目录(兼容Windows反斜杠和类Unix斜杠),避免误匹配文件名中包含bin的文件。方式二:直接使用路径通配符(部分PowerShell版本支持,若不支持则优先用方式一)
Get-ChildItem -Path '.\*\bin\*\myfile.txt' -Recurse用
*匹配任意层级目录,指定路径中包含bin目录的结构。
Bash 实现方法
如果Bash不支持**递归通配符,用find命令是最直接的方案:
find . -type f -name 'myfile.txt' -path '*/bin/*'
-type f确保只查找文件,排除目录-name 'myfile.txt'指定目标文件名-path '*/bin/*'筛选路径中包含/bin/的文件,确保bin是独立目录而非文件名的一部分
如果需要更精确的匹配(强制bin前后为目录分隔符),可以调整为正则匹配:
find . -type f -name 'myfile.txt' -regex '.*/bin/.*'
内容的提问来源于stack exchange,提问作者MLavrentyev
相关产品推荐
相关产品推荐

