grep para palabras de no más de cierta longitud


9

Estoy buscando una forma de asimilar cosas como: i log for E M, i 1 f x i 0, I xi 1, 3 1,.simplemente en función del número de caracteres.

Nada en ese resultado hipotético es más largo que tres caracteres. Esta hipotética de una sola línea se vería algo como, grep -v [:alnum:] > {3}. (Excepto que simplemente no sé cómo escribir eso en la sintaxis grep).


¿Quieres unir caracteres como ,y .como parte de una palabra?

Respuestas:


19
grep -o -w '\w\{1,3\}' data

Las opciones son:

  • -o imprimir solo palabras coincidentes
  • -w coincide solo con palabras completas

Solo coincide con palabras (en grep \ w = [[: alnum:]] = [A-Za-z0-9]) de longitud de 1 a 3 (especificado por {1,3})


Gracias. la sintaxis básica de su respuesta es lo que necesitaba, y terminé usando datos grep '\ w \ {3}' y el mismo comando con grep -v ..
ixtmixilix
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.