Ho creato uno script ./abc
.
Voglio suddividere l'output in nuove righe.
miocodice:
#!/bin/bash
dir="$1"
echo -n "size of file:"
du -hba $dir | sort -n -r | tail -1
il mio output è:
size of files: 20kb
/path/to/sport
Voglio l'output come:
size of files: 20kb
/path/to/sport
Risposta accettata:
Prenderei in considerazione qualcosa del genere:
du="$(du -hba "$dir" | sort -n -r | tail -1)"
printf "size of file: %snt%sn" "${du/$'t'*}" "${du#*$'t'}"
Il du
variabile prende il risultato della tua ricerca. Viene quindi suddiviso in due parti separate da tabulazioni per il printf
istruzione, con ciascuna delle parti interpolate nella stringa di formato con %s
.
Questo costrutto dovrebbe gestire nomi di file contenenti newline, tabulazioni e altri caratteri insoliti.