我想删除使用指定文件创建的所有文件和子目录。我目前正在使用该命令删除文件和目录
find . ! -name file.txt -type d -exec rm -r {} + #this is for sub directories
find . ! -name file.txt -type f -exec rm -f {} + #this is for files
当我运行这些命令两次时,它会删除所有文件和子目录,但我想删除创建的所有文件和目录,一次排序一个文件。任何帮助都非常值得赞赏。 问候 Jitendra
答案 0 :(得分:0)
GNU find 可以直接删除文件和目录:
find ! -name file.txt -delete
它会提供错误消息,因为它无法删除最多file.txt
的目录,但其他所有内容仍将被删除。
如果您想保留文件file1.txt
,file2.txt
和file3.txt
,请链接以下条件:
find ! \( -name file1.txt -o -name file2.txt -o -name file3.txt \) -delete