我使用Git使用linux find和rm命令查找和删除文件。find命令返回的路径中的一些文件/目录名有空格,如“程序文件”窗口目录。
运行find和rm命令,如下所示,将返回错误,因为文件/目录名称中有空格。如何在不接收rm命令错误的情况下以编程方式删除这些文件?
$ find /c/'program files'/ ~ -type f -iname "securecrt.vbs" 2>/dev/null
/c/program files/VanDyke Software/Clients/Scripts/securecrt.vbs
$$ find /c/'program files'/ ~ -type f -iname "securecrt.vbs" 2>/dev/null | xargs rm
rm: cannot remove '/c/program': No such file or directory
rm: cannot remove 'files/VanDyke': No such file or directory
rm: cannot remove 'Software/Clients/Scripts/securecrt.vbs': No such file or directory发布于 2020-08-10 06:04:09
最好使用-exec指令:
find /c/'program files'/ ~ -type f -iname "securecrt.vbs" -exec rm {} \;即使在文件的名字中包含空格的情况下,也是如此。
https://stackoverflow.com/questions/63333442
复制相似问题