
100MB보다 큰 모든 폴더(최대 깊이=1)를 새 대상으로 이동하고 싶습니다. 이것은 내가 지금까지 얻은 것입니다:
du --max-depth=1 -h --threshold=100MB | head -n-1 | awk '{print $2}' | xargs -p -0 -I {} mv {} ../new_location
어쩐지 내 결과가 새 대상으로 이동되지 않고 이동되는 대신 이동하려는 모든 폴더의 긴 목록만 표시됩니다.
답변1
옵션 -0
은 xargs
입력이 들어오고 있음을 의미합니다.없는-개행으로 구분되지 않고 구분됩니다. 스크립트 에서 awk
출력 레코드 구분 기호를 ORS
null 문자로 설정합니다 \0
.
du --max-depth=1 -h --threshold=100MB | head -n-1 | awk 'BEGIN {ORS="\0"} {print $2}' | xargs -p -0 -I {} mv {} ../new_location