TNT*_*TNT 15 command-line bash rsync find
当我使用
find /home/user/parentdir -type d -empty -delete
Run Code Online (Sandbox Code Playgroud)
它递归地查找里面的空子文件夹/home/user/parentdir并删除它们。但是如果/home/user/parentdir也是空的,它也会删除parentdir文件夹,这对我来说是不可取的。
我想将此保留parentdir到rsync一些文件中以进行备份或云计算。处理后,我需要删除空文件夹,但parentdir每次重新创建似乎都无济于事。
有parentdir什么建议要保留吗?我想在其中创建一个.nocopy文件并将其从 中排除rsync,但看起来有点矫枉过正。有没有更优雅的方式?
小智 25
简单地做find /home/user/parentdir -mindepth 1 -type d -empty -delete。
看:
$ mkdir -p test1/test2
$ find test1 -type d
test1
test1/test2
$ find test1 -mindepth 1 -type d
test1/test2
Run Code Online (Sandbox Code Playgroud)
当文件很多并且过于复杂时,find /home/user/parentdir/* in AmourK 的答案是不可取的。
小智 15
通过添加/*到 的末尾parentdir,您将在 parentdir 的所有子目录上执行操作,而不是对它parentdir本身执行操作。等/home/user/老命令中同样的方式parentdir不会被删除,在下面的命令中也不会被删除。
*称为 glob 运算符,它匹配任何字符串。
find /home/user/parentdir/* -type d -empty -delete
| 归档时间: |
|
| 查看次数: |
3099 次 |
| 最近记录: |