Pārvaldot savus serverus, viena no lietām, ko jūs galu galā gribat veikt daļēji regulāri, ir iegūt informāciju no faila vidus. Varbūt tas ir žurnāla fails, vai arī jums ir jāpievieno viena tabula no jūsu MySQL rezerves faila vidus, tāpat kā es.
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 | vairāk
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: - Tabulas struktūra tabulai 'wp_posts' 4163: DROP TABLA, ja pastāv 'wp_posts'; 4166: CREATE TABLE 'wp_posts' (4203: - Datu dempings tabulai 'wp_posts' 4206: LOCK TABLES 'wp_posts' WRITE; 4207: / *! 40000 ALTER TABLE 'wp_posts' Atslēgt taustiņus * /; 4208: INSERT INTO 'wp_posts 'VĒRTĪBAS (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 atslēgvārds 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.