Creé un script ./abc
.
Quiero dividir la salida en nuevas líneas.
mi código:
#!/bin/bash
dir="$1"
echo -n "size of file:"
du -hba $dir | sort -n -r | tail -1
mi salida es:
size of files: 20kb
/path/to/sport
Quiero la salida como:
size of files: 20kb
/path/to/sport
Respuesta aceptada:
Yo consideraría algo como esto:
du="$(du -hba "$dir" | sort -n -r | tail -1)"
printf "size of file: %snt%sn" "${du/$'t'*}" "${du#*$'t'}"
El du
variable toma el resultado de su búsqueda. Luego se divide en dos partes separadas por tabuladores para el printf
declaración, con cada una de las partes interpoladas en la cadena de formato con %s
.
Esta construcción debe manejar nombres de archivo que contengan líneas nuevas, tabulaciones y otros caracteres inusuales.