28Jun
Kad upravljate vlastitim poslužiteljima, jedna od stvari na čijem kraju završite trebate polu-redovito izvlačiti stvari iz sredine datoteke. Možda je to zapisnička datoteka ili trebate dodati jednu tablicu iz sredine vaše MySQL sigurnosne datoteke, kao što sam to učinila.
Da biste odredili brojeve linija, posao je napravio jednostavna naredba grep-n( "n" argument daje redni broj).To je olakšalo shvatiti što trebam izvaditi.
grep -n wp_posts howtogeekdb010114.bak |višeRezultati u nečemu ovakvom, koji prikazuje linije iznad lijeve strane izlaza. Sve cijevi u "više" osiguravaju da možete vidjeti prvu liniju bez da se pomaknete. Sada morate započeti broj linije, a vjerojatno i onaj s kojim ćete završiti.
4160: - Struktura tablice za tablicu `wp_posts` 4163: DROP TABLE IF EXISTS` wp_posts`;4166: CREATE TABLE `wp_posts`( 4203: - Podaci o polaganju podataka za tablicu` wp_posts` 4206: LOCK TABLES `wp_posts` WRITE; 4207: / *! 40000 ALTER TABLICA` wp_posts` DISABLE KEYS * /; 4208: INSERT U `wp_postsMožete, naravno, samo cijev izlaz iz grep u drugu datoteku, kao što je ovaj: grep ključne riječi naziv datoteke.txt> izlazni fileU mom slučaju, to nije htjelo raditi, jer nisam mogla uvesti rezultirajuću rezervnu iz nekog razloga. Dakle, pronašao sam drugačiji način za izdvajanje linija pomoću sed, a ova metoda je rad
sed -n '4160,4209p' howtogeekdb0101140201.bak & gt; izlazni datotekuUglavnom je sintaksu ovakav, pazeći pritom na argument -n i uključite "p" nakon drugog rednog broja
sed -n 'FIRSTLINENUMBER, LASTLINENUMBERp 'naziv datoteke & gt; outputfilenameNeki drugi načini na koje možete izvući određene linije usred datoteke? Možete upotrijebiti "glavu"Naredba s argumentom + broj da bi samo pročitao prve x retke datoteke, a zatim koristite rep za izdvajanje tih redaka. Nije najbolja opcija, puno opterećenja. Jednostavnija opcija? Možete upotrijebiti naredbu Split kako biste datoteku pretvorili u više datoteka izravno na željeni broj linije, a zatim izvlačite linije pomoću glave ili repa.
Ili jednostavno možete koristiti sed.