/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Greppe sidste kolonne
Fra : JoeDoe


Dato : 16-09-09 23:27

Hvis jeg har en forskellig tekststreng men hvor jeg altid har brug for
det sidste ord, hvordan grepper jeg så det ord?

Dette er 10.0.1.1
En 10.0.1.2
Lille test 10.0.1.3

Jeg skal have fat i IP adressen.

 
 
Peter Dalgaard (17-09-2009)
Kommentar
Fra : Peter Dalgaard


Dato : 17-09-09 08:09

On Wed, 16 Sep 2009 22:27:05 -0700, JoeDoe wrote:

> Hvis jeg har en forskellig tekststreng men hvor jeg altid har brug for
> det sidste ord, hvordan grepper jeg så det ord?
>
> Dette er 10.0.1.1
> En 10.0.1.2
> Lille test 10.0.1.3
>
> Jeg skal have fat i IP adressen.

Du får mig ikke til at bixe en time med regular expressions...

grep kan selvfølgelig ikke, den vælger kun linjer. sed eller awk er bedre
gæt. Nemmest nok awk: noget i retning af

awk '{print $NF}'

med sed er det mere tricky. De er noget med s/RE/\1/ hvor RE skal sættes
op så den matcher hele linjen og singler IP adressen ud med \(....\).

Noget henad

..*\([^ \t]+\)$

men det er sikkert ikke helt rigtigt...

--
O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk) FAX: (+45) 35327907

Tomas Pedersen (17-09-2009)
Kommentar
Fra : Tomas Pedersen


Dato : 17-09-09 15:57

On Thu, 17 Sep 2009 07:08:43 +0000, Peter Dalgaard wrote:

>>
>> Jeg skal have fat i IP adressen.
>
> grep kan selvfølgelig ikke, den vælger kun linjer.

man kan få grep til kun at vise den del af linien der matcher, fra man
grep:
-o, --only-matching
Print only the matched (non-empty) parts of a matching
line, with each such part on a separate output line.


Tomas

Thorbjørn Ravn Ander~ (17-09-2009)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 17-09-09 16:19

JoeDoe skrev:
> Hvis jeg har en forskellig tekststreng men hvor jeg altid har brug for
> det sidste ord, hvordan grepper jeg så det ord?
>
> Dette er 10.0.1.1
> En 10.0.1.2
> Lille test 10.0.1.3
>
> Jeg skal have fat i IP adressen.

cat ... | perl -lane 'print $F[-1]'

--
Thorbjørn Ravn Andersen "...plus... Tubular Bells!"

JoeDoe (17-09-2009)
Kommentar
Fra : JoeDoe


Dato : 17-09-09 23:18

> > Hvis jeg har en forskellig tekststreng men hvor jeg altid har brug for
> > det sidste ord, hvordan grepper jeg så det ord?
>
> > Dette er 10.0.1.1
> > En 10.0.1.2
> > Lille test 10.0.1.3
>
> > Jeg skal have fat i IP adressen.
>
> grep kan selvfølgelig ikke, den vælger kun linjer. sed eller awk er bedre
> gæt. Nemmest nok awk: noget i retning af  
>
> awk '{print $NF}'

Lige præcist dét jeg gik efter - mange tak.

Ak ja, der er så mange muligheder at man kan stirre sig helt blind på,
at der ikke er en simpel løsning på det (én variabel - hey, kan det
blive mere simpelt)

Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste