我正在尝试编写一个bash命令,它将
删除与特定模式匹配的所有
文件 – 在这种情况下,它是所有已构建的旧vmware日志
文件.
我试过这个命令:
find . -name vmware-*.log | xargs rm
但是,当我运行该命令时,它会阻塞名称中包含空格的所有文件夹.有没有办法格式化文件路径,以便xargs将其传递给rm引用或正确转义?
我通常发现使用-exec选项可以更轻松,更容易混淆.试试这个:
find . -name vmware-*.log -exec rm -i {} \;
在-exec之后的所有内容都被视为一个命令,用于为每个结果运行,直到;,这将在此处进行转义,以便将其传递给find. {}将替换为通常会打印的文件名.
一旦您确认它可以执行您想要的操作,就可以删除-i.