簡體   English   中英

Linux在子目錄中找到所有文件並將其移動

[英]Linux find all files in sub directories and move them

我有一個Linux系統,其中一些用戶將帶有ftp的文件放在目錄中。 在此目錄中,有用戶可以創建的子目錄。 現在,我需要一個腳本來搜索那些子目錄中的所有文件,並將它們移動到單個目錄中(以進行備份)。 問題:子目錄不應該被刪除。

用戶的目錄是/ files / media / documents /,並且文件必須在目錄/ files / dump /中移動。 我不在乎/ files / media / documents /中的文件,它們已經由另一個腳本處理。

我已經嘗試過此腳本:

for dir in /files/media/documents/
do
    find "$dir/" -iname '*' -print0 | xargs -0 mv -t /files/dump/
done

除了迭代外,您還可以使用find。 在手冊頁中記錄了一個“ -type”選項,因此對於移動文件,您可以執行以下操作:

find "/files/media/documents/" -type f -print0 | xargs -0 mv -t /files/dump/

您也不想在/ files / media / documents /中找到文件,但是所有子目錄都可以? 只需添加“ -mindepth”:

find "/files/media/documents/" -type f -mindepth 1 -print0 | xargs -0 mv -t /files/dump/

或者,您也可以使用“ -exec”跳過第二條命令(xargs):

find "/files/media/documents/" -type f -mindepth 1 -exec mv {} /files/dump/ \;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM