28Jun

Jak odstranit čáry ze středu souboru pomocí terminálu Linux

click fraud protection

Když spravujete své vlastní servery, jedna z věcí, které nakonec musíte udělat v poloprávné bázi, je extrahovat věci ze středu souboru. Možná je to soubor s protokoly, nebo potřebujete přidat jednu tabulku uprostřed záložního souboru MySQL, jako já.

Chcete-li zjistit čísla řádků, provedl jednoduchý příkaz grep -n( argument -n zobrazuje čísla řádků).Díky tomu bylo snadné zjistit, co potřebuji k extrakci.

grep -n wp_posts howtogeekdb010114.bak |více

Výsledkem je něco podobného, ​​které zobrazuje čísla řádků na levé straně výstupu. Vše, co se děje do "více", zajišťuje, že vidíte první řádek, aniž byste jej procházeli. Nyní máte počáteční číslo linky a pravděpodobně ten, který skončí.

4160: - Struktura tabulky pro tabulku `wp_posts '4163: TABULKA DROP, JEJICHŽ existuje" wp_posts ";4166: CREATE TABLE `wp_posts`( 4203: - Dumpingová data pro tabulku` wp_posts` 4206: ZAMKNUTÍ TABULKY `wp_posts` WRITE; 4207: / *! 40000 ALTER TABLE` wp_posts` DISABLE KEYS * /; 4208: INSERT IN wp_posts`VALUES( 1,2, '2006-09-11 05:07:23', '2006-09-11
instagram viewer

Můžete samozřejmě jen potrubí výstupu z grep do jiného souboru, například:

grep název souboru klíčového slova.txt> outputfile

V mém případě to nechtělo pracovat, protože jsem nemohl importovat výslednou zálohu z nějakého důvodu. Takže jsem našel jiný způsob, jak extrahovat linky pomocí sed a tato metoda fungovala

sed -n '4160,4209p' howtogeekdb0101140201.bak & outputfile

V podstatě je syntaxe podobná, ujistěte se, že používáte argument -n a za druhé číslo řádku uveďte písmeno "p"

sed -n 'FIRSTLINENUMBER, LASTLINENUMBERp 'název_souboru & gt; outputfilename

Některé další způsoby, jak můžete vyndat konkrétní čáry uprostřed souboru? Můžete použít "hlava"S parametrem + number, který právě přečte první x řádek souboru a pak použije ocas pro extrakci těchto řádků.Nejlepší alternativa, spousta režie. Jednoduchá volba? Pomocí příkazu rozdělit můžete soubor přesunout do více souborů přímo na požadované číslo řádku a potom extrahovat řádky pomocí hlavy nebo ocasu.

Nebo můžete jednoduše použít sed.