'how to use -exec on the find command with xonsh?
In xonsh I can run a find
command like this:
find @(str(path)) -iname "log.txt"
Where path is a pathlib.Path object.
However, I don't understand how to use the -exec
and -execdir
options on find
:
find @(str(path)) -iname "log.txt" -execdir pwd {} \;
This results in the error:
SyntaxError: <xonsh-code>:1:5: ('code: @(',)
I reviewed Tutorial — xonsh 0.10.1.dev5.dev5 documentation and tried @$(...) and numerous other variations without any success.
Edit: this version
find @(str(path)) -iname "log.txt" -execdir pwd '{}' \;
gives this error:
find: missing argument to `-execdir'
Solution 1:[1]
Just adding the answer here for future reference:
This bash
find ~/.local/lib/python3.8/ -iname "*ygments*pyc" -exec ls -ahtlr {} \;
becomes this xonsh
it seems...
find ~/.local/lib/python3.8 -iname "*ygments*pyc" -exec ls -ahltr "{}" ";"
Though this also seem to work :-D :
for i in !(find ~/.local/lib/python3.8 -iname "*ygments*pyc"):
ls -ahtlr @(i.strip())
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | stephanve |