查找大于 X 的目录并移动到新目的地

查找大于 X 的目录并移动到新目的地

我想将所有大于 100MB 的文件夹 (max-depth=1) 移动到新目标。以下是我目前得到的结果:

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

不知何故,我的结果并没有被移动到新的目的地,我只看到我想要移动的所有文件夹的长列表,而不是被移动。

答案1

选项-0表示xargs输入来自无效的-separated,而不是换行符分隔。在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

相关内容