28Jun
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íceVý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-11Můžete samozřejmě jen potrubí výstupu z grep do jiného souboru, například:
grep název souboru klíčového slova.txt> outputfileV 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 & outputfileV 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; outputfilenameNě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.