tacomodo Skrevet 9. september 2010 Del Skrevet 9. september 2010 Har en variabel med f.eks følgende: state: up serverID: 941 currentCache: 1255 maxCache: 5000 Finnes det en lur måte å hente ut tallet for f.eks serverID? Haken her er at dette må gjøres på en måte slik at om serverID bytter plass i stringen senere, så er det fremdeles tallet til høyre som hentes. Altså ikke statisk cut -d' ' -f 4 Lenke til kommentar
snippsat Skrevet 9. september 2010 Del Skrevet 9. september 2010 Et par med python og regex du kan du kan se på. import re text = '''\ state: up serverID: 941 currentCache: 1255 maxCache: 5000 test 12345 state: up 55555 currentCache: 1255 serverID: 555 maxCache: 5000 aBC 1.25863 ''' match_id = re.findall(r'serverID:.(\d{3})\b', text) print match_id #-->['941', '555'] import re text = '''\ state: up serverID: 941 currentCache: 1255 maxCache: 5000 test 12345 state: up 5555 currentCache: 1255 serverID: 555 maxCache: 5000 aBC 1.25863 ''' match_id = (match.group(1) for match in re.finditer(r'serverID:.(\d{3})\b', text)) for i in match_id: print i '''Out--> 941 555 ''' Lenke til kommentar
zotbar1234 Skrevet 10. september 2010 Del Skrevet 10. september 2010 Har en variabel med f.eks følgende: state: up serverID: 941 currentCache: 1255 maxCache: 5000 Finnes det en lur måte å hente ut tallet for f.eks serverID? En lur? Kanskje. Svaret avhenger av grammatikken for det som kan stå rundt serverID. Så, hva *er* spesifikasjonen for det man kan forvente? Lenke til kommentar
asicman Skrevet 10. september 2010 Del Skrevet 10. september 2010 sed s'/.* serverID: \([0-9]*\).*/\1/' Lenke til kommentar
tacomodo Skrevet 16. september 2010 Forfatter Del Skrevet 16. september 2010 Det endte opp med at jeg tok en litt annen rute og brukte awk i stedet. Takker for svar uansett Lenke til kommentar
asicman Skrevet 18. september 2010 Del Skrevet 18. september 2010 Hvordan ble awk løsningen? Awk er som regel bra til input hvor det er felter som er avgrenset av en delimiter. Fri tekst søk er vanligvis enkelt med grep/sed. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå