GNU/Linux >> Linux Esercitazione >  >> Linux

Utilizzo di grep per cercare una stringa contenente un punto

grep -F -r '0.49' * tratta 0.49 come una stringa "fissa" invece di un'espressione regolare. Questo fa . perdere il suo significato speciale.


grep usa espressioni regolari; . significa "qualsiasi carattere" in una regex. Se vuoi una stringa letterale, usa grep -F , fgrep o esegui l'escape di . a \. .

Non dimenticare di racchiudere la stringa tra virgolette. Oppure dovresti usare \\.

Quindi, il tuo comando dovrebbe essere:

grep -r "0\.49" *

o

grep -r 0\\.49 *

o

grep -Fr 0.49 *

Devi sfuggire al . come "0\.49" .

Un . è un meta-carattere regex per corrispondere a qualsiasi carattere (tranne la nuova riga). Per abbinare un punto letterale, devi eseguirne l'escape.


Linux
  1. Come trovare tutti i file che non contengono una stringa di testo?

  2. Utilizzo di grep e sed per trovare e sostituire una stringa

  3. Come specificare più spazi per il delimitatore usando cut?

  4. Usando grep vs awk

  5. Ricerca di una stringa in un numero di file in LInux

Come escludere in Grep

Come eseguire la ricerca del modello nei file utilizzando Grep

Suggerimenti per l'utilizzo dello schermo

Linux cerca la stringa nelle cartelle e nei file con ack

Utilizzo del comando Bash printf per la stampa di output formattati

Come ottenere righe che contengono stringhe in un file?