linux 删除指定文件以外的文件

使用find 排除 

找到./tools/dbsetup/startlibs/config/suconfig/ 下除了以下文件名的文件

find ./tools/dbsetup/startlibs/config/suconfig/ ! -name 'su_aa.json' \
! -name 'su_aip.json' \
! -name 'su_bc.json'  \
! -name 'su_design.json'  \
! -name 'su_df.json' \
! -name 'su_df_view.json'   \
! -name 'su_gl.json'  \
! -name 'su_sys.json' 

2 加-exec调用删除

find ./tools/dbsetup/startlibs/config/suconfig/ ! -name 'su_aa.json' \
! -name 'su_aip.json' \
! -name 'su_bc.json'  \
! -name 'su_design.json'  \
! -name 'su_df.json' \
! -name 'su_df_view.json'   \
! -name 'su_gl.json'  \
! -name 'su_sys.json' -exec rm -f {} +

{} 标识find命令找到的文件

结束符有两种   ; 和 +

;会对每个找到item执行command

+ 会执行一次

-exec rm -f {} +   执行 rm -f 1 2 3 等同于
-exec rm -f {} \; 执行 rm -f 1 \ rm -f 2 \ rm -f 3
\的作用是防止截断

 3 目录中查找记得排除 .和当前查找的目录

find ./jstack/apps -maxdepth 1 -typd d ! -name '.' ! -name 'apps'

 

posted @ 2020-03-09 12:21  wolbo  阅读(1047)  评论(0编辑  收藏  举报