Portál AbcLinuxu, 26. října 2025 21:05
A jedna B dva C třia chci vypsat jen
jedna dva tři
echo "${promenna%A }
toto funguje, ale pokud bych chtěl odstranit více písmen, jak to lze udělat?
$regular='[A,B,C,D].'
echo "${promenna%'$regular'}
toto nefunguje :/
Řešení dotazu:
echo ${promenna#??}
Jestli mas bash, k odstraneni prvniho vyskytu regexu muzes pouzit toto:
reg='[ABCD] '
echo "${promenna/$reg/}"
premenna=${premenna#??}
Ak to ma byt iba z urciteho rozsahu, tak treba regularny vyraz, ale to BASH expanzia nepozna.
Vtedy treba pouzit napr. sed, napr. prejedno z pismen ABCD nasledovane medzerou:
premenna=$(echo $premenna|sed "s/^[ABCD] //")
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.