Hi
van egy kis progim ami mindenféle infókat irkál ki a konzolra amiből kéne kicsit szűrni. Ha csak néhány féle sor kell akkor ugye grep... , de nekem most éppen az ellenkezője kéne. Azt kéne megoldani hogy bizonyos stringet tartalmazó sorokat ne irjon ki.
A megoldás biztos nagyon egyszerű csak még én nem tudom.
Próbálkoztam már grep -e -vel de regexpben nem nagyon vagyok otthon ugyhogy nem sok sikerrel.
Pls help!!
- 1783 megtekintés
Hozzászólások
Üdv!
grep -v (vagy: --invert-match)
de ezt irja a manlap is ;)
---
PtR
- A hozzászóláshoz be kell jelentkezni
hát ezt nem találtam bocs, pedig a mannal kezdtem
- A hozzászóláshoz be kell jelentkezni
sziasztok!
1 txt fajlbol szeretnek kiszurni nehany sort. a kerdesem a kovetkezo:
ha ez mukodik:
grep '99999' bob.txt
akkor ez, miert nem:
grep '-99999' bob.txt
mi a kulonbseg [:space:] es [[:space:]] kozott?
a segitseget elore is koszonom!
- A hozzászóláshoz be kell jelentkezni
$ grep "\-99999" bob.txt
$ grep -e "-99999" bob.txt
- A hozzászóláshoz be kell jelentkezni
Esetleg:
grep -- "-99999" bob.txt
- A hozzászóláshoz be kell jelentkezni
koszi mindkettotoknek. igazsag szerint faj, hogy ilyen egyszeru. hat persze, escape character (\)!
- A hozzászóláshoz be kell jelentkezni
hello,
akkor ez, miert nem:
grep '-99999' bob.txt
Szerintem:
grep '\-99999' bob.txt
mi a kulonbseg [:space:] es [[:space:]] kozott?
man grep:
For example, [[:alnum:]] means [0-9A-Za-z], except the latter form depends upon the C locale and the ASCII character encoding, whereas the former is independent of locale and character set. (Note that the brackets in these class names are part of the symbolic names, and must be included in addition to the brackets delimiting the bracket expression.)
Tehát a [:space:] forma csak leírja a halmazt, (valamilyen space (tab, EOL)), a [[:space:]] pedig a reguláris kifejezés. Így talán érthetőbb a használata:
[[:alnum:][:space:]]
ezt így lehetne felírni:
[0-9A-Za-z \t\n\r\f]
a.
- A hozzászóláshoz be kell jelentkezni
grep -v '\-99999|[[:space:]]$'
ez miert nem mukodik?
olyat szeretnek, h mutasd azokat a sorokat, ahol nincs -99999 es a sor vegen nincs whitespace.
- A hozzászóláshoz be kell jelentkezni
hat én ugyan nem ellenőriztem, de
egrep -v '\-99999|[[:space:]]$'
- A hozzászóláshoz be kell jelentkezni
koszonom, mokodik.
- A hozzászóláshoz be kell jelentkezni