Linux

清空每個子目錄中的特定文件夾

  • October 3, 2019

在我的文件系統中輸入數據時,一些文件進入了錯誤的目錄,現在我必須重置所有具有特定名稱的文件夾,而不觸及該子目錄的其他文件夾中的文件。由於我要清空的所有目錄都具有相同的名稱,因此我認為這是可能的,不幸的是我真的不知道該怎麼做。

我有以下結構:

dir

  subdir1

      folder_I_want_to_empty   //all of these folders have the same name

          file_that_needs_to_be_deleted.txt

      folder_I_do_not_want_to_empty   

          file_that_has_to_remain.txt

  subdir2

      folder_I_want_to_empty   //all of these folders have the same name

          file_that_needs_to_be_deleted.txt

      folder_I_do_not_want_to_empty

          file_that_has_to_remain.txt 

  subdir3

      folder_I_want_to_empty   //all of these folders have the same name

          file_that_needs_to_be_deleted.txt

      folder_I_do_not_want_to_empty

          file_that_has_to_remain.txt

如何通過命令提示符清空每個目錄中的folder_I_want_to_empty而不刪除文件夾或從folder_I_do_not_want_to_empty刪除任何數據?

您可以使用

rm -fr */folder_I_want_to_empty/* */folder_I_want_to_empty/.??*

請注意,此命令具有很強的破壞性,不會提示,而是以非互動方式毫不留情地刪除。

如果您希望查看將被刪除的內容,請替換rm -frls -ld

ls -ld */folder_I_want_to_empty/* */folder_I_want_to_empty/.??*

.小字型:由於上面使用的模式,只有兩個字元(第一個是點)的文件或文件夾不會被刪除的可能性很小。如果這對您來說是個問題,請在評論中告訴我們,我會調整模式。

引用自:https://unix.stackexchange.com/questions/544908