
Quiero mover todas las carpetas (profundidad máxima = 1) que tengan más de 100 MB a un nuevo destino. Esto es lo que tengo hasta ahora:
du --max-depth=1 -h --threshold=100MB | head -n-1 | awk '{print $2}' | xargs -p -0 -I {} mv {} ../new_location
De alguna manera, mi resultado no se mueve al nuevo destino, solo veo una lista larga de todas las carpetas que quiero mover, en lugar de moverlas.
Respuesta1
La -0
opción xargs
significa que la entrada está llegando.nulo-separados, no separados por nuevas líneas. En su awk
secuencia de comandos, establezca el separador de registros de salida ORS
en un carácter 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