GNU/Linux >> Linux Esercitazione >  >> Linux

Come estrarre il testo da un file di grandi dimensioni, a partire dalla prima occorrenza di una stringa?

Puoi semplicemente usare "grep" con -A e/o -B opzioni. Il -A switch leggerà la X numero di righe dopo l'errore, quindi è probabilmente quello che vuoi, e il -B switch leggerà X numero di righe prima dell'errore, quindi faresti qualcosa del genere:

grep -A10 -B2 "string to find" /path/and/file.tofind

per trovare le 10 righe che si trovano dopo la "stringa da trovare", così come le 2 righe che la precedono.

In alternativa, ed è probabilmente una soluzione molto peggiore, potresti semplicemente usare "testa" e "coda" per trovare la prima e poi l'ultima parte del file che desideri; ma questo presuppone che tu conosca i numeri di riga. Ad esempio, se hai un file lungo e vuoi leggere le righe 500-510, potresti provare questo:

head -510 /etc/file/to/search | tail -10

Che prima estrarrebbe le prime 510 righe del file, quindi leggerebbe le ultime 10 di quelle righe.


Linux
  1. Rimuovere in modo efficiente le prime due righe da un file di testo?

  2. Come rimuovere la Bom da un file Utf-8?

  3. Come leggere una variabile da un file?

  4. Come rimuovo le nuove righe da un file di testo?

  5. Come utilizzo le righe di un file come argomenti di un comando?

Come creare directory da un file di testo in Linux

Scripting Bash:come leggere i dati dai file di testo

Come estrarre indirizzi e-mail da file di testo in Linux

Come aggiungere testo all'inizio del file in Linux

Rimuove le prime N righe da un file di registro attivo

Come visualizzare determinate righe da un file di testo in Linux?