LINUX 不刪除指定檔案其餘檔案全部刪除

2021-09-13 11:26:13 字數 757 閱讀 4259

bash shell有個extglob選項,開啟之後shell可以另外識別出5個模式匹配操作符,能使檔案正則匹配。

開啟 shopt命令:shopt -s extglob 

關閉 shopt命令:shopt -u extglob

?(pattern-list) - 所給模式匹配0次或1次; *(pattern-list) - 所給模式匹配0次以上包括0次;+(pattern-list) - 所給模式匹配1次以上包括1次; @(pattern-list) - 所給模式僅僅匹配1次;!(pattern-list) - 不匹配括號內的所給模式。

1、保留a檔案其他刪除

[root@localhost abc]# shopt -s extglob

[root@localhost abc]# rm -rf !(a)

2、保留a和b檔案,其他刪除

[root@localhost abc]# rm -f !(a|b)

3、刪除除了.log 的其他檔案

[root@localhost abc]#  rm -rf !(*log) 

4、刪除以jpg或者png的所有檔案

其他方式保留a檔案

[root@localhost abc]# ls |grep -v a |xargs rm -f 

Linux 批量清除檔案內容而不刪除檔案

清理單個檔案,可以這樣 echo mylog.log 但是,如果我要清理一堆檔案,比如在 logs目錄下面的所有以.log結尾的檔案的內容,而不刪除檔案,該如何操作呢?我一開始的語句是這樣的 find logs name log exec echo 但是,執行的結果是新建了乙個名為 的檔案,並沒有執...

Linux下使用rm刪除檔案,並排除指定檔案

刪除全部檔案,保留1.txt find grep v 1.txt xargs rm 特別注意grep的 v引數,v引數表示反選,比如我們上面指定了 v 1.txt,即排除掉1.txt,選中其他全部檔案。所以這樣執行之後1.txt就被排除了 刪除全部檔案,保留1.txt和2.txt,特別注意grep的...

Linux刪除指定目錄檔案指令碼

刪除語法格式 find 對應目錄 mtime 天數 name 檔名 exec rm rf find u01 masicong mtime 10 name exec rm rf 將 u01 backups目錄下所有10天前帶 的檔案刪除 說明 u01 backups 想要進行清理的任意目錄 mtime...