Portál AbcLinuxu, 5. května 2025 13:00
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.