Portál AbcLinuxu, 10. května 2025 22:32

Dotaz: split line

26.6.2015 12:21 Honza
split line
Přečteno: 235×
Odpovědět | Admin

Cauvec, mam takovy dotaz, jak dostat dve casti z jednoho radku rozdeleny strednikem (nechci sed cut awk :)

x="aaaa, aaa;bbbb"

takhle dostanu druhou cast:

x="aaaa, aaa;bbbb";echo ${x#*;}

ale nemuzu dostat prvni cast:) Poradi nekdo?

Diky.

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.6.2015 12:42 Honza
Rozbalit Rozbalit vše Re: split line
Odpovědět | | Sbalit | Link | Blokovat | Admin

Tak uz jsem na to asi prisel, admin muze locknout. Diky.

Kdyby se to nekomu hodilo tak to bylo:

x="aaaa, aaa;bbbb";echo ${x%%;*}

26.6.2015 14:09 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: split line
Odpovědět | | Sbalit | Link | Blokovat | Admin
x="aaaa, aaa;bbbb" ; IFS=\; aux=($x); echo "'${aux[0]}', '${aux[1]}'"
26.6.2015 14:12 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: split line

Případně

x="aaaa, aaa;bbbb" ; IFS=\; read a1 a2 <<<"$x"; echo "'$a1', '$a2'"

(na rozdíl od předchozího nevyžaduje bash verze 4)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.