[BASH] Usuwanie pustych znaków z lewej strony
: 31 maja 2010, 16:02
Jak usunąć znaki typu spacja lub tabulator z lewej strony?? lub ew. z obydwu stron...
Polskie forum użytkowników Ubuntu
https://ubuntu.pl/forum/
Kod: Zaznacz cały
sed 's/^\s\+//'
Kod: Zaznacz cały
zmienna="$(echo "$zmiennaZeSpacjami" | awk '{gsub(/^ +| +$/,"")}1')"
echo "'$zmienna'"
Kod: Zaznacz cały
old=" test"
echo "$old"
test
new=`expr match "$old" '[ ]*\(.*\)'`
echo "$new"
test
Kod: Zaznacz cały
$ a=" zmienna ze zbednymi spacjami do trima "
$ echo "'$a'"
' zmienna ze zbednymi spacjami do trima '
$ b=$(echo $a)
$ echo "'$b'"
'zmienna ze zbednymi spacjami do trima'
Ale dlaczego nie? Do tego one służą, tak czy siak uruchamiasz dodatkowy program ale w Twoim przypadku wyjście przekazujesz "na około".sulti pisze:Nie zatrudniając do tego zadania pipe'ów
Może i prościej ale to nie trim tylko usuwanie wszystkich podwójnych spacji, co niekoniecznie może być pożądane.kamilsilver pisze:A prościej bashem:Kod: Zaznacz cały
$ a=" zmienna ze zbednymi spacjami do trima " $ echo "'$a'" ' zmienna ze zbednymi spacjami do trima ' $ b=$(echo $a) $ echo "'$b'" 'zmienna ze zbednymi spacjami do trima'