28Jun

Kako odstraniti črte s sredine datoteke s pomočjo Linux Terminal

Ko upravljate lastne strežnike, je ena izmed stvari, ki jo potrebujete za redno, ekstrahiranje stvari iz sredine datoteke. Mogoče je datoteka dnevnika, ali pa morate dodati eno samo tabelo iz sredine varnostne kopije MySQL, kot sem jaz.

Če želite ugotoviti številke vrstic, je preprost ukaz grep -n opravil( argument -n izpisuje številke vrstic).To je olajšalo ugotoviti, kaj sem potreboval za izpis.

grep -n wp_posts howtogeekdb010114.bak |več

Rezultati v nekaj takem, ki prikazuje številke vrstic na levi strani izhoda. Vstavite vse v "več", kar zagotavlja, da si lahko ogledate prvo vrstico, ne da bi ga pomikali. Zdaj imate številko vrstice za začetek, in verjetno, da se konča.

4160: - Struktura tabele za tabelo `wp_posts` 4163: DROP TABELA, ČE JE POSTAVLJEN` wp_posts`;4166: CREATE TABLE `wp_posts`( 4203: - Podatki o dampingu za tabelo` wp_posts` 4206: LOCK TABLES `wp_posts` WRITE; 4207: / *! 40000 ALTER TABELA` wp_posts` DISABLE KEYS * /; 4208: INSERT INTO `wp_posts`VALUES( 1,2, '2006-09-11 05:07:23', '2006-09-11

Lahko bi, seveda, samo vtaknili izhod iz grep v drugo datoteko, kot je ta:

grep ključna beseda filename.txt & gt; outputfile

V mojem primeru to ni želel delati, ker zaradi nekega razloga nisem mogel uvoziti nastale varnostne kopije. Torej, sem našel drugačen način za pridobivanje vrstic s sedom, ta metoda pa je delovala

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

V bistvu je sintaksa takšna, pri čemer uporabite argument -n in vključite "p" za številko druge vrstice.

sed -n 'FIRSTLINENUMBER, LASTLINENUMBERp 'filename & gt; outputfilename

Nekateri drugi načini, kako lahko izvlečete določene vrstice na sredini datoteke? Lahko uporabite »glavo"Ukaz z argumentom + številka, da bi šele prebral prve x vrstice datoteke, nato pa uporabite rep za pridobitev teh vrstic. Ni najboljša možnost, veliko režijskih stroškov. Preprostejša možnost? Z ukazom split lahko datoteko pretvorite v več datotek na želeno številko vrstice in nato izvlečete črte z glavo ali repom.

Ali lahko uporabite samo sed.