GNU/Linux >> Znalost Linux >  >> Linux

Jak extrahovat text z velkého souboru počínaje prvním výskytem řetězce?

Stačí použít "grep" s -A a/nebo -B možnosti. -A přepínač přečte X počet řádků za chybou, takže je to pravděpodobně to, co chcete, a -B přepínač bude číst X počet řádků před chybou, takže byste udělali něco takového:

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

najít 10 řádků, které se vyskytují po "string to find", stejně jako 2 řádky před ním.

Případně – a to je pravděpodobně mnohem horší řešení, můžete jednoduše použít „hlava“ a „ocas“ k nalezení první a poté poslední části souboru, který chcete; ale to předpokládá, že znáte čísla řádků. To znamená, že pokud máte soubor s dlouhými řádky a chcete si přečíst řádky 500-510, můžete zkusit toto:

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

Což by nejprve extrahovalo prvních 510 řádků souboru a poté přečetlo posledních 10 z těchto řádků.


Linux
  1. Jak vložit text před první řádek souboru?

  2. Efektivně odstranit prvních pár řádků z textového souboru?

  3. Jak odstranit více náhodných řádků z textového souboru pomocí Sed?

  1. Jak odstranit prvních N řádků souboru Ascii pomocí příkazů Shell?

  2. Jak číst proměnnou ze souboru?

  3. Jak odstranit řádky, které se objevují v souboru B, z jiného souboru A?

  1. Jak odstranit X bajtů z konce velkého souboru bez přečtení celého souboru?

  2. Efektivně odstraňte poslední dva řádky extrémně velkého textového souboru

  3. Odstraňte prvních N řádků z aktivního souboru protokolu