Linux

查找 + 如何刪除僅存在於特定文件夾中的文件

  • July 3, 2022

要刪除文件夾下的文件,我們可以使用以下方法查找

find /home -type f -delete

但是如何僅遞歸刪除臨時文件夾下存在的文件?

假設我們有以下臨時路徑範例

/home/bla/bla/temp
/home/test/temp
/home/subf/subf/subf/temp
.
.
.
/home/1/temp

如何更改查找語法以僅刪除temp目錄下的文件

目標是使用 find 命令以僅匹配臨時文件夾並刪除臨時目錄下的文件

 find /home -type f -delete

不刪除文件,它只刪除正常文件,除了所有其他類型的文件,包括 fifos、設備、目錄、符號連結、套接字等。

如果目的是刪除除目錄類型之外的所有文件,即只保留裸露的目錄樹,您可以使用! -type d.-type f

要刪除在任何名為 的目錄中或之下找到的所有非目錄文件temp,您將執行以下操作:

LC_ALL=C find /home -path '*/temp/*' ! -type d -delete

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