Lai noskaidrotu līnijas numurus, darbs izpildīja vienkāršu grep -n komandu (-n arguments izsniedz līnijas numurus). Tas padarīja to viegli saprast, kas man bija nepieciešams, lai iegūtu.
grep -n wp_posts howtogeekdb010114.bak | more
Rezultāti ir kaut kas līdzīgs šim, kas rāda līnijas numurus produkcijas kreisajā pusē. Visu cauruļvadu iekļaušana "vairāk" nodrošina, ka jūs varat redzēt pirmo rindiņu bez tās ritināšanas. Tagad jums ir rindas numurs, lai sāktu ar, un, iespējams, tas, kas beidzas ar.
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
Jūs, protams, varētu vienkārši izvadīt no grep uz citu failu, piemēram, šo:
grep keyword filename.txt > outputfile
Manā gadījumā tas negribēja strādāt, jo kādu iemeslu dēļ nevarēju importēt iegūto dublējumu. Tātad, es atklāju citu veidu, kā iegūt līnijas, izmantojot sed, un šī metode darbojās.
sed -n '4160,4209p' howtogeekdb0101140201.bak > outputfile
Būtībā sintakse ir tāda, pārliecinoties, ka izmantojat -n argumentu un pēc otrās rindas numura iekļauj p.
sed -n 'FIRSTLINENUMBER, LASTLINENUMBERp' filename > outputfilename
Vai dažos citos veidos varat izvilkt konkrētas rindas faila vidū? Jūs varētu izmantot komandu "head" ar argumentu + numurs, lai tiktu vienkārši izlasīt pirmās faila x rindiņas, un pēc tam izmantojiet asti šo līniju izvilināšanai. Nav labākais variants, daudz pieskaitāmās izmaksas. Vienkāršāka iespēja? Jūs varat izmantot sadalīšanas komandu, lai failu pagrieztu vairākos failos tieši pie vajadzīgā rindas numura, un pēc tam izvelciet līnijas, izmantojot galvu vai asti.
Vai arī jūs varat vienkārši izmantot sed.