Portál AbcLinuxu, 25. dubna 2024 09:25


Dotaz: jak získat správné políčko z řádku - cut nebo sed?

29.4.2013 15:26 hajoucha | skóre: 22
jak získat správné políčko z řádku - cut nebo sed?
Přečteno: 279×
Odpovědět | Admin
Ahojda, mám tento řádek:
Ambient Temp     102.20/39     109.40/43.00  71.60/22.00   114.80/46.00  122.00/50.00

Potřebuji z něj co nejjednoduššeji získat hodnotu za lomítkem ve čtvrtém sloupci, tj. 22.00.

Coby začátečníka mne napadá pouze primitivní:
cut -d '/' -f4 | cut -d ' ' -f1

Nenašlo by se přeci jenom elegantnější řešení (tj. kratší, nebo alespoň bez té roury...). Příslušný řádek bude vypadat vždy stejně, jenom čísla se pochopitelně budou měnit.

Předem díky

Řešení dotazu:


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

Odpovědi

Řešení 1× (Zdeněk Zámečník)
29.4.2013 15:48 drunkezz | skóre: 34 | blog: kadeco
Rozbalit Rozbalit vše Re: jak získat správné políčko z řádku - cut nebo sed?
Odpovědět | | Sbalit | Link | Blokovat | Admin

uplne dirty

 

awk -F'[/" "]' '{print $17}' file

D.

Řešení 1× (Zdeněk Zámečník)
29.4.2013 16:02 Kit
Rozbalit Rozbalit vše Re: jak získat správné políčko z řádku - cut nebo sed?
Odpovědět | | Sbalit | Link | Blokovat | Admin
awk '{split($5, pole, "/"); print pole[2]}'
Řešení 1× (Zdeněk Zámečník)
29.4.2013 16:21 JanM | skóre: 28
Rozbalit Rozbalit vše Re: jak získat správné políčko z řádku - cut nebo sed?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Bez roury, zato ošklivé:
sed 's@\([^/]*/\)\{3\}\([0-9]*\.[0-9][0-9]\).*@\2@'
30.4.2013 12:19 NN
Rozbalit Rozbalit vše Re: jak získat správné políčko z řádku - cut nebo sed?
Zase jsem zapomnel escapovat ty slozene zavorky.. sakra!
29.4.2013 18:12 hajoucha | skóre: 22
Rozbalit Rozbalit vše Re: jak získat správné políčko z řádku - cut nebo sed?
Odpovědět | | Sbalit | Link | Blokovat | Admin
díky všem :)
30.4.2013 10:23 Tom.š Ze.le.in | skóre: 21 | blog: tz
Rozbalit Rozbalit vše Re: jak získat správné políčko z řádku - cut nebo sed?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ještě jedna bez externího procesu, výsledek v
$this_is_22
IFS=' /' read ambient temp a b c d e this_is_22 rest
30.4.2013 13:49 hajoucha | skóre: 22
Rozbalit Rozbalit vše Re: jak získat správné políčko z řádku - cut nebo sed?
? nerozumím, můžeš to prosím rozvést?
30.4.2013 14:07 Kit
Rozbalit Rozbalit vše Re: jak získat správné políčko z řádku - cut nebo sed?
Však si to vyzkoušej. Řádek je rozdělen do devíti proměnných podle separátorů v IFS. Potřebuješ jen tu osmou.
30.4.2013 14:43 hajoucha | skóre: 22
Rozbalit Rozbalit vše Re: jak získat správné políčko z řádku - cut nebo sed?
tak tohle je moc hezké! Díky!

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.