![尋找大於 X 的目錄並移動到新目的地](https://rvso.com/image/1505666/%E5%B0%8B%E6%89%BE%E5%A4%A7%E6%96%BC%20X%20%E7%9A%84%E7%9B%AE%E9%8C%84%E4%B8%A6%E7%A7%BB%E5%8B%95%E5%88%B0%E6%96%B0%E7%9B%AE%E7%9A%84%E5%9C%B0.png)
我想將所有大於 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