Vytvořil jsem skript ./abc
.
Chci rozdělit výstup do nových řádků.
můj kód:
#!/bin/bash
dir="$1"
echo -n "size of file:"
du -hba $dir | sort -n -r | tail -1
můj výstup je:
size of files: 20kb
/path/to/sport
Chci výstup jako:
size of files: 20kb
/path/to/sport
Přijatá odpověď:
Zvažoval bych něco takového:
du="$(du -hba "$dir" | sort -n -r | tail -1)"
printf "size of file: %snt%sn" "${du/$'t'*}" "${du#*$'t'}"
du
proměnná převezme výsledek vašeho hledání. Poté je rozdělen na dvě části oddělené tabulátory pro printf
s každou částí interpolovanou do formátovacího řetězce pomocí %s
.
Tato konstrukce by měla zpracovávat názvy souborů obsahující nové řádky, tabulátory a další neobvyklé znaky.
Otestovat rekurzivní vyhledávání a výměnu Sed před spuštěním?
Sazba -a Je zadávání chyby ve skriptu?