![Encontre diretórios maiores que X e vá para um novo destino](https://rvso.com/image/1505666/Encontre%20diret%C3%B3rios%20maiores%20que%20X%20e%20v%C3%A1%20para%20um%20novo%20destino.png)
Quero mover todas as pastas (profundidade máxima = 1) maiores que 100 MB para um novo destino. Isto aqui é o que eu tenho até agora:
du --max-depth=1 -h --threshold=100MB | head -n-1 | awk '{print $2}' | xargs -p -0 -I {} mv {} ../new_location
De alguma forma, meu resultado não está sendo movido para o novo destino, apenas vejo uma longa lista de todas as pastas que desejo mover, em vez de serem movidas.
Responder1
A -0
opção xargs
significa que a entrada está chegandonulo-separado, não separado por nova linha. No seu awk
script, defina o separador do registro de saída ORS
como um caractere nulo \0
:
du --max-depth=1 -h --threshold=100MB | head -n-1 | awk 'BEGIN {ORS="\0"} {print $2}' | xargs -p -0 -I {} mv {} ../new_location