28Jun
Kun hallitset omia palvelimiasi, yksi niistä asioista, jotka päätyvät tekemään semi-säännöllisesti, on ote tiedosta keskeltä.Ehkä se on lokitiedosto, tai sinun täytyy lisätä yksi taulukko MySQL-varmuuskopiotiedoston keskeltä, kuten minä.
Linjan numeroiden selvittäminen teki yksinkertaisen grep -n-komennon( -n-argumentti tuottaa rivinumerot).Tämän ansiosta oli helppo selvittää, mitä tarvitsin poimia.
grep -n wp_posts howtogeekdb010114.bak |lisääTulokset tällä tavoin, joka näyttää rivinumerot yli ulostulon vasemmalla puolella. Kaikkien "enemmän" putoaminen varmistaa, että näet ensimmäisen rivin ilman, että sitä vieritettäisiin. Nyt sinulla on aloitusnumero, ja luultavasti loppu.
4160: Taulukon rakenne taulukon `wp_posts` 4163: DROP TABLE IF EXISTS` wp_posts`;4166: LUO TAULUKKO `wp_posts`( 4203: - Pölynpudotuksen tiedot taulukon` wp_posts` 4206: LOCK TABLES `wp_posts` WRITE; 4207: / *! 40000 ALTER TAULUKKO` wp_posts` DISABLE KEYS * /; 4208: INSERT INTO `wp_posts`VALUES( 1,2, '2006-09-11 05:07:23', '2006-09-11Voit tietenkin vain putkea tuotoksen grep toiseen tiedostoon, kuten tämä:
grep avainsanan tiedostonimi.txt & gt; ulostulo-tiedostoMinun tapauksessani tämä ei halunnut toimia, koska en voinut tuoda tuloksena olevaa varmuuskopiota jostakin syystä, joten löysin toisenlaisen tavan erottaa rivit käyttäen sed: tä, ja tämä menetelmä toimi
sed -n '4160,4209p' howtogeekdb0101140201.bak & gt; lähtötiedostoPohjimmiltaan syntaksi on näin, varmista, että käytät -n-argumenttia ja sisällytät "p" toisen rivin jälkeen
sed -n 'FIRSTLINENUMBER, LASTLINENUMBERp 'filename & gt; tuotosfilenimiJoitakin muita tapoja, joilla voit vetää tiettyjä linjoja keskelle tiedostoa?"Komennolla + numero-argumentti vain lukea tiedoston ensimmäiset x-rivit ja sitten käyttää häntää poimimaan nämä viivat. Ei ole paras vaihtoehto, paljon yleiskustannuksia. Yksinkertaisempi vaihtoehto? Voit jakaa tiedoston useille tiedostoille halutulla linjanumerolla ja jakaa sitten viivat päätä tai häntää käyttäen.
Tai voit käyttää sed.