尋找大於 X 的目錄並移動到新目的地

尋找大於 X 的目錄並移動到新目的地

我想將所有大於 100MB 的資料夾(最大深度=1)移動到新的目的地。這是我到目前為止所得到的:

du --max-depth=1 -h --threshold=100MB | head -n-1 | awk '{print $2}' | xargs -p -0 -I {} mv {} ../new_location

不知何故,我的結果沒有被移動到新的目的地,我只是看到一長串我想要移動的所有資料夾,而不是它們被移動。

答案1

選項-0toxargs表示輸入即將到來無效的- 分隔,而不是換行符號分隔。在awk腳本中,將輸出記錄分隔符號設定ORS為空字元\0

du --max-depth=1 -h --threshold=100MB | head -n-1 | awk 'BEGIN {ORS="\0"} {print $2}' | xargs -p -0 -I {} mv {} ../new_location

相關內容