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

옵션 -0xargs입력이 들어오고 있음을 의미합니다.없는-개행으로 구분되지 않고 구분됩니다. 스크립트 에서 awk출력 레코드 구분 기호를 ORSnull 문자로 설정합니다 \0.

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

관련 정보