Ich habe ein Skript ./abc
erstellt .
Ich möchte die Ausgabe in neue Zeilen aufteilen.
meincode:
#!/bin/bash
dir="$1"
echo -n "size of file:"
du -hba $dir | sort -n -r | tail -1
Meine Ausgabe ist:
size of files: 20kb
/path/to/sport
Ich möchte die Ausgabe als:
size of files: 20kb
/path/to/sport
Akzeptierte Antwort:
Ich würde so etwas in Betracht ziehen:
du="$(du -hba "$dir" | sort -n -r | tail -1)"
printf "size of file: %snt%sn" "${du/$'t'*}" "${du#*$'t'}"
Der du
Variable übernimmt das Ergebnis Ihrer Suche. Es wird dann für printf
in zwei tabulatorgetrennte Teile aufgeteilt -Anweisung, wobei jeder der Teile mit %s
in den Formatstring interpoliert wird .
Dieses Konstrukt sollte Dateinamen verarbeiten, die Zeilenumbrüche, Tabulatoren und andere ungewöhnliche Zeichen enthalten.