为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Go 中使用多个 iname 匹配器执行查找命令?

如何在 Go 中使用多个 iname 匹配器执行查找命令?

Go
HUX布斯 2021-11-08 18:23:29
我需要通过 Go 编程语言执行这种命令:find /some/dir/path -type f \( -iname \*.zip -o -iname \*.tar -o -iname \*.rar \)我发现了 exec.Command 并尝试了各种执行find命令的方法,例如exec.Command("find", dir, "-type", "f", "\\( -iname \\*.zip -o -iname \\*.tar -o -iname \\*.rar \\)")exec.Command("find", dir, "-type", "f", "-iname", "*.zip", "-o", "-iname", "*.tar", "-o", "-iname", "*.rar")exec.Command("find", dir, "-type", "f", "\\(", "-iname", "\\*.zip", "-o", "-iname", "\\*.tar", "-o", "-iname", "\\*.rar", "\\)")以上都不适合我。有没有办法做到这一点,还是我只需要在 Go 中发出 3 个单独的 find 命令?
查看完整描述

1 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

exec.Command不是外壳,因此您无需在命令中转义特殊字符。完全按照您希望命令处理的方式传递每个参数。

exec.Command("find", dir, "-type", "f", "(", "-iname", "*.zip", "-o", "-iname", "*.tar", "-o", "-iname", "*.rar", ")")



查看完整回答
反对 回复 2021-11-08
  • 1 回答
  • 0 关注
  • 181 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信