我正在尝试编写一个bash命令,它将删除与特定模式匹配的所有文件 – 在这种情况下,它是所有已构建的旧vmware日志文件.
我试过这个命令:
find . -name vmware-*.log | xargs rm
但是,当我运行该命令时,它会阻塞名称中包含空格的所有文件夹.有没有办法格式化文件路径,以便xargs将其传递给rm引用或正确转义?
解决方法
我通常发现使用-exec选项可以更轻松,更容易混淆.试试这个:
find . -name vmware-*.log -exec rm -i {} \;
在-exec之后的所有内容都被视为一个命令,用于为每个结果运行,直到;,这将在此处进行转义,以便将其传递给find. {}将替换为通常会打印的文件名.
一旦您确认它可以执行您想要的操作,就可以删除-i.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。