我正在尝试使用子进程模块(python)执行以下命令
/usr/bin/find <filepath> -maxdepth 1 -type f -iname "<pattern>" -exec basename {} \;
但是,它给出了以下错误:
/usr/bin/find: missing argument to `-exec'
我猜这与转义某些字符有关。但不知道如何克服这个问题。
任何帮助表示赞赏。谢谢。
另一个问题的回答有帮助:https://stackoverflow.com/a/15035344/971529 https://stackoverflow.com/a/15035344/971529
import subprocess
subprocess.Popen(('find', '/tmp/mount', '-type', 'f',
'-name', '*.rpmsave', '-exec', 'rm', '-f', '{}', ';'))
我不明白的是分号不需要转义,因为分号通常由 bash 解释,并且需要转义。
在 bash 中,这个等价物是:
find /tmp/mount -type f -name "*.rpmsave" -exec rm -f {} \;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)