如何在 xonsh 的 find 命令上使用 -exec?

how to use -exec on the find command with xonsh?

在 xonsh 中,我可以 运行 像这样的 find 命令:

find @(str(path)) -iname "log.txt"

其中路径是一个 pathlib.Path 对象。

但是,我不明白如何在 find 上使用 -exec-execdir 选项:

find @(str(path)) -iname "log.txt" -execdir pwd {} \;

这会导致错误:

SyntaxError: <xonsh-code>:1:5: ('code: @(',)

我查看了 Tutorial — xonsh 0.10.1.dev5.dev5 documentation 并尝试了 @$(...) 和许多其他变体,但均未成功。

编辑:这个版本

find @(str(path)) -iname "log.txt" -execdir pwd '{}' \;

出现此错误:

find: missing argument to `-execdir'

只是在这里添加答案以备将来参考:

这个bash

find ~/.local/lib/python3.8/ -iname "*ygments*pyc" -exec ls -ahtlr {} \;

变成这个xonsh好像...

find ~/.local/lib/python3.8 -iname "*ygments*pyc"  -exec ls -ahltr "{}" ";"

尽管这似乎也有效 :-D :

 for i in !(find ~/.local/lib/python3.8 -iname "*ygments*pyc"):
     ls -ahtlr @(i.strip())