grep per parole di non più di una certa lunghezza


9

Sto cercando un modo per grep cose come: i log for E M, i 1 f x i 0, I xi 1, 3 1,.semplicemente basato sul numero di personaggi.

Niente in quell'ipotetico risultato è più lungo di tre caratteri. Questa ipotetica one-liner sarebbe simile, grep -v [:alnum:] > {3}. (Solo che non so proprio come scriverlo nella sintassi grep.)


Vuoi abbinare personaggi come ,e .come parte di una parola?

Risposte:


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

Le opzioni sono:

  • -o stampa solo le parole corrispondenti
  • -w corrisponde solo a parole intere

Corrisponde solo a parole (in grep \ w = [[: alnum:]] = [A-Za-z0-9]) di lunghezza da 1 a 3 (specificato da {1,3})


Grazie. la sintassi di base della tua risposta è ciò di cui avevo bisogno e alla fine ho usato solo i dati grep '\ w \ {3}' e lo stesso comando con grep -v ..
ixtmixilix,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.