moa 35 批量删除
?在某一應用目錄下,生成了大量的以數字開頭的目錄和文件,例如
?
drwxr-xr-x ? ?2 wasuser ?wasgrp ? ? ? ? ?256 Apr 09 15:56 5925.26
drwxr-xr-x ? ?2 wasuser ?wasgrp ? ? ? ? ?256 Apr 09 15:56 5926.596
drwxr-xr-x ? ?2 wasuser ?wasgrp ? ? ? ? ?256 Apr 09 15:56 5927.284
drwxr-xr-x ? ?2 wasuser ?wasgrp ? ? ? ? ?256 Apr 09 15:56 5931.467
drwxr-xr-x ? ?2 wasuser ?wasgrp ? ? ? ? ?256 Apr 09 15:56 5931.585
drwxr-xr-x ? ?2 wasuser ?wasgrp ? ? ? ? ?256 Apr 09 15:56 5936.315
drwxr-xr-x ? ?2 wasuser ?wasgrp ? ? ? ? ?256 Apr 09 15:56 5937.906
drwxr-xr-x ? ?2 wasuser ?wasgrp ? ? ? ? ?256 Apr 09 15:56 594.1117
drwxr-xr-x ? ?2 wasuser ?wasgrp ? ? ? ? ?256 Apr 09 15:56 5942.766
drwxr-xr-x ? ?2 wasuser ?wasgrp ? ? ? ? ?256 Apr 09 15:56 5944.112
-rwxr-xr-x ? ?2 wasuser ?wasgrp ? ? ? ? ?256 Apr 09 15:56 5945.207
-rwxr-xr-x ? ?2 wasuser ?wasgrp ? ? ? ? ?256 Apr 09 15:56 5945.499
-rwxr-xr-x ? ?2 wasuser ?wasgrp ? ? ? ? ?256 Apr 09 15:56 5948.318
drwxr-xr-x ? ?2 wasuser ?wasgrp ? ? ? ? ?256 Apr 09 15:56 5949.521
drwxr-xr-x ? ?2 wasuser ?wasgrp ? ? ? ? ?256 Apr 09 15:56 5955.708
drwxr-xr-x ? ?2 wasuser ?wasgrp ? ? ? ? ?256 Apr 09 15:56 5956.432
drwxr-xr-x ? ?2 wasuser ?wasgrp ? ? ? ? ?256 Apr 09 15:56 5958.177
-rwxr-xr-x ? ?2 wasuser ?wasgrp ? ? ? ? ?256 Apr 09 15:56 596.4732
-rwxr-xr-x ? ?2 wasuser ?wasgrp ? ? ? ? ?256 Apr 09 15:56 5961.223
-rwxr-xr-x ? ?2 wasuser ?wasgrp ? ? ? ? ?256 Apr 09 15:56 5961.466
批量刪除時報
bash: /bin/rm: Argument list too long目錄下文件數太多,無法全部刪除。
那么該如何刪除該目錄下所有文件呢?(該目錄下文件和目錄數目特別多)
報錯的原因分析:
比如你目錄下有a.tmp, b.tmp,c.tmp,d.tmp...........
執行rm *實際是替換為rm a.tmp b.tmp ?c.tmp ?d.tmp....后再執行
如果目錄下文件很多,那么替換后的長度將因為超過系統默認的命令緩沖區最大長度導致錯誤,所以需要簡化批量刪除的字符數
$ id
uid=212(wasuser) gid=210(wasgrp) groups=1(staff)
$ pwd
/moaj2me/document/resources/doc
$ rm -rf [1-9]* ? ? ?注:如果是字母,則rm -rf [a-z]* ? ?rm -rf [A-Z]*
$ ls -l
total 0
還有種方法是
find ?. ?-print|xargs rm -rf
find . -name * -exec rm -rf {} \ls -l |awk '{print $9}'|rm -rf
還可以使用腳本
建議如下:
ls -l >/tmp/rmfile.sh
cd /tmp
vi rmfile.sh
:g/^/s//rm /g
ZZ
chmod 755 rmfile
./rmfile
補充:
刪除當前目錄下所有文件(不包含目錄):
find . -maxdepth 0 -type f -exec rm -f {} \;
批量刪除空文件(大小等于0的文件)的方法
find . -name "*" -type f -size 0c | xargs -n 1 rm -f
用這個還可以刪除指定大小的文件,只要修改對應的 -size 參數就行,例如:
find . -name "*" -type f -size 1024c | xargs -n 1 rm -f
就是刪除1k大小的文件。(但注意 不要用 -size 1k,這個得到的是占用空間1k,不是文件大小1k的)。
find . -maxdepth 0 -type f ?-name ?xxx.* ? -mtime +2 ? -exec rm -f {} \;
把2天前被修改的以xxx開頭的文件全部刪除掉
總結
以上是生活随笔為你收集整理的moa 35 批量删除的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ios 自定义UIView绘制时文字上下
- 下一篇: 网站设计八步骤