1

Я хочу переместить все папки (max-глубина = 1), которые больше, чем 100 МБ в новое место назначения. Вот то, что у меня так далеко:

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

Почему-то мой результат не перемещается в новое место назначения, я просто вижу длинный список всех папок, которые я хочу переместить, вместо того, чтобы их перемещать.

1 ответ1

3

-0 варианта xargs означает , что вход приходит в нуле -разделенного, а не символ новой строки , разделенный. В вашем 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .