
我想將所有大於 100MB 的資料夾(最大深度=1)移動到新的目的地。這是我到目前為止所得到的:
du --max-depth=1 -h --threshold=100MB | head -n-1 | awk '{print $2}' | xargs -p -0 -I {} mv {} ../new_location
不知何故,我的結果沒有被移動到新的目的地,我只是看到一長串我想要移動的所有資料夾,而不是它們被移動。
答案1
選項-0
toxargs
表示輸入即將到來無效的- 分隔,而不是換行符號分隔。在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