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
Søgning med grep?{problem løst}
-
- Indlæg: 9
- Tilmeldt: 16. jul 2009, 11:20
Søgning med grep?{problem løst}
Senest rettet af oji 17. jul 2009, 10:18, rettet i alt 1 gang.
-
- Indlæg: 834
- Tilmeldt: 1. jun 2008, 18:23
- IRC nickname: Jarlen
- Geografisk sted: København
Re: Søgning med grep?
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 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.
Du kan bruge
Kode: Vælg alt
output | grep "link quality"
jesperjarlskov.dk - Blog om Ubuntu, fri software og andet godt
-
- Indlæg: 9
- Tilmeldt: 16. jul 2009, 11:20
Re: Søgning med grep?
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.
Altså "signal strength xx signal noise xx dbm". Jeg vil bare ikke have hele sætningen ud.
-
- Indlæg: 834
- Tilmeldt: 1. jun 2008, 18:23
- IRC nickname: Jarlen
- Geografisk sted: København
Re: Søgning med grep?
ok,
siger:
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:
Som så pga. -o kun vil give dig den del af linjen der præcist matcher dit regexp.
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
-
- Indlæg: 9
- Tilmeldt: 16. jul 2009, 11:20
Re: Søgning med grep?
Hej
Tak for hjælpen
Jeg endte med at få det til at virke
Ved
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