Rea numbrite välja selgitamiseks tegi töö lihtne grep -n-käsk (-n argument väljastab reanumbrid). See muutis hõlpsasti kindlaks, mida ma väljavõtmiseks vaja oli.
grep -n wp_posts howtogeekdb010114.bak | more
Tulemused midagi sellist, mis näitab väljundi vasakus servas reanumbreid. Kõik toru paigaldamine "rohkem" tagab, et näete esimest rida, kus seda ei kerata. Nüüd on teil rida numbri alustamiseks ja tõenäoliselt see, mis lõppeb.
4160:-- Table structure for table `wp_posts` 4163:DROP TABLE IF EXISTS `wp_posts`; 4166:CREATE TABLE `wp_posts` ( 4203:-- Dumping data for table `wp_posts` 4206:LOCK TABLES `wp_posts` WRITE; 4207:/*!40000 ALTER TABLE `wp_posts` DISABLE KEYS */; 4208:INSERT INTO `wp_posts` VALUES (1,2,'2006-09-11 05:07:23','2006-09-11
Muidugi võite lihtsalt kiirendada grep-i väljundi teise faili, näiteks selline:
grep keyword filename.txt > outputfile
Minu puhul ei tahtnud see tööd teha, sest ma ei saanud mingil põhjusel varundatud versiooni importida. Niisiis leidsin, et sed kasutatakse joonte ekstraheerimiseks teistmoodi, ja see meetod töötas.
sed -n '4160,4209p' howtogeekdb0101140201.bak > outputfile
Põhimõtteliselt on süntaks selline, kindlasti kasutage -n-argumenti ja lisage teise rea numbri järel "p".
sed -n 'FIRSTLINENUMBER, LASTLINENUMBERp' filename > outputfilename
Mõned muud võimalused, mille abil saate faili keskel välja tõmmata teatud read? Võite kasutada käsuga "head" + -numbri argumendiga, et lihtsalt lugeda faili esimest x-rida, ja seejärel kasutada nende ridade ekstraktimiseks saba. Mitte parim võimalus, palju lisakulusid. Lihtsam võimalus? Võite kasutada jagatud käsku, et muuta fail mitmeks failiks otse soovitud rea numbril ja seejärel ekstraheerida ridasid peaga või sabaga.
Või võite lihtsalt kasutada sed.