Søgning med grep?{problem løst}

Alle tekniske spørgsmål som ikke hører ind under de andre fora.
oji
Indlæg: 9
Tilmeldt: 16. jul 2009, 11:20

Søgning med grep?{problem løst}

Indlæg af oji »

hej

Er der en måde hvor på man kan søge med grep fra et ord til et andet?

f.eks. hvis der er en sætning med; link quality xxxx signal strength xx signal noise xxx dbm
jeg ville gerne søge på sætningen fra signal til dbm.

Det jeg gerne vil have ud er "signal strength xx signal noise xxx dbm"
da jeg skal bruge xx værdierne, som er nogle tal.

på forhånd tak
Senest rettet af oji 17. jul 2009, 10:18, rettet i alt 1 gang.
Jarlen
Indlæg: 834
Tilmeldt: 1. jun 2008, 18:23
IRC nickname: Jarlen
Geografisk sted: København

Re: Søgning med grep?

Indlæg af Jarlen »

Du kan ikke bruge grep til at udtrække værdier. Grep bruges til at finde udtryk svarende til dit input, ligesom alm. søgning.
Du kan bruge

Kode: Vælg alt

output | grep "link quality"
så du KUN får outputtet de linjer hvor de to ord indgår, men du kan ikke bruge det til at udvinde xxx værdien.
jesperjarlskov.dk - Blog om Ubuntu, fri software og andet godt :-)
oji
Indlæg: 9
Tilmeldt: 16. jul 2009, 11:20

Re: Søgning med grep?

Indlæg af oji »

Det gør ikke noget ordene kommer med hvis jeg bare kan få den stump sætning ud.
Altså "signal strength xx signal noise xx dbm". Jeg vil bare ikke have hele sætningen ud.
Jarlen
Indlæg: 834
Tilmeldt: 1. jun 2008, 18:23
IRC nickname: Jarlen
Geografisk sted: København

Re: Søgning med grep?

Indlæg af Jarlen »

ok,

Kode: Vælg alt

man grep

siger:
-o, --only-matching
Print only the matched (non-empty) parts of a matching line,
with each such part on a separate output line.

så det du gør er at stykke et regulært udtryk sammen der matcher det du søger, dvs. noget i stil med:
"signal strength [0-9][0-9] signal noise [0-9][0-9] dbm", eller hvordan det helt præcist skal se ud, jeg er ikke lige hundredemetermester i regular expressions. Det giver dig en kommando á la:

Kode: Vælg alt

grep --regexp="signal strength [0-9][0-9] signal noise [0-9][0-9] dbm" -o

Som så pga. -o kun vil give dig den del af linjen der præcist matcher dit regexp.
jesperjarlskov.dk - Blog om Ubuntu, fri software og andet godt :-)
oji
Indlæg: 9
Tilmeldt: 16. jul 2009, 11:20

Re: Søgning med grep?

Indlæg af oji »

Hej
Tak for hjælpen

Jeg endte med at få det til at virke

Ved

Kode: Vælg alt

grep 'Signal level:-[0-9][0-9] [a-zA-Z]\{3\}' -o