/ / come grep o parole egrep che compaiono due volte di seguito? - bash, grep, row, repeat, word

come grep o parole egrep che compaiono due volte di seguito? - bash, grep, row, repeat, word

Ciao, sto volendo sapere come grep linee che hanno una parola ripetuta due volte di seguito. Uno spazio tra le due parole deve ovviamente essere tenuto in considerazione e deve essere sensibile al maiuscolo e al minuscolo grep naturalmente lo è

Io non voglio solo una risposta, piuttosto vogliosapere come farlo e capirlo Quindi chiunque risponda potrebbe anche spiegare, per favore, cosa sta dicendo la linea o cosa sta facendo il modello. Ho una base da intermediare su grep e bash tuttavia ancora imparando tutte le complessità di grep e la sintassi correlata. Tutto e tutti gli aiuti sarebbero molto apprezzati.

Questo è il più vicino come non ho ottenuto lol anche se sono anche sicuro di cosa sto facendo esattamente qui ...

grep ".*|.*| "

Ringrazia tutti!! Saluti!

risposte:

0 per risposta № 1

Tu useresti grep -E "(<[^[:blank:]]+>).*1"

Il < e > rappresentano i confini delle parole. Insieme alla sequenza di caratteri non vuoti, forma una singola parola. Poi il 1 ricorda quella prima serie di parentesi acquisite.


0 per risposta № 2

1 corrisponde a ogni stringa che è stata abbinata dalprima stringa che è stata abbinata. Non è la stessa cosa che corrisponde allo stesso modello che è stato abbinato alla prima stringa. Quindi la prima cattura abbinata a un limite di parole non è più rilevante, anche se la b è all'interno delle parentesi di cattura.

Se vuoi che anche la seconda istanza si trovi su un confine di parole, devi dirlo.

Inoltre, usando le espressioni regolari, possiamo dire che vogliamo tutte le piccole parole A-Z e grandi. Anche usando il + diciamo che i personaggi precedenti corrispondono ad almeno 1 o più volte.

egrep "(b[a-zA-Z]+) 1b" file.txt

Questo ti mostrerà tutte le parole che vengono usate due volte.

grep -E "(b[a-zA-Z]+) 1b" file.txt

Questo comando funzionerà anche se preferisci usare grep. grep -E significa che usa espressioni regolari estese. Quindi è lo stesso di egrep.