Linjojen poistaminen tiedoston keskeltä Linux-päätelaitteen avulla
Kun hallitset omia palvelimiasi, yksi niistä asioista, jotka sinun tarvitsee tehdä puolin säännöllisesti, on poimia tavaraa tiedoston keskeltä. Ehkä se on lokitiedosto, tai sinun on lisättävä yksi taulukko MySQL-varmuuskopiotiedoston keskeltä, kuten minä.
Lukujen selvittämiseksi yksinkertainen grep -n-komento teki työn (-n-argumentti antaa rivinumerot). Tämän ansiosta oli helppo selvittää, mitä tarvitsin purkaa.
grep -n wp_posts howtogeekdb010114.bak | lisää
Tulokset ovat jotain sellaista, joka näyttää rivinumerot lähdön vasemmalla puolella. Kaikkien "putkien" putkisto varmistaa, että näet ensimmäisen rivin ilman sitä vierittämällä. Nyt sinulla on rivinumeron aloitus, ja luultavasti se, jonka kanssa lopetat.
4160: - Taulukon 'wp_posts' 4163 taulukon rakenne: DROP TABLE IF EXISTS 'wp_posts'; 4166: CREATE TABLE 'wp_posts' (4203: - pöydän polttotiedot wp_posts '4206: LOCK TABLES' wp_posts 'WRITE; 4207: / *! 40000 ALTER TABLE' wp_posts 'DISABLE KEYS * /; 4208: INSERT INTO' wp_posts 'ARVOT (1,2,' 2006-09-11 05:07:23 ',' 2006-09-11
Voit tietysti vain siirtää grepin tuotoksen toiseen tiedostoon, kuten tämä:
grep avainsana filename.txt> outputfile
Minun tapauksessani tämä ei halunnut työskennellä, koska en voinut tuoda tuloksena olevaa varmuuskopiota jostain syystä. Joten löysin toisen tavan poimia rivit käyttäen sediä, ja tämä menetelmä toimi.
sed -n '4160,4209p' howtogeekdb0101140201.bak> outputfile
Pohjimmiltaan syntaksi on näin, varmista, että käytät -n-argumenttia, ja sisällyttää “p” toisen rivinumeron jälkeen.
sed -n 'FIRSTLINENUMBER, LASTLINENUMBERp' tiedostonimi> outputfilename
Muita tapoja, joilla voit vetää tiettyjä rivejä tiedoston keskelle? Voit käyttää “pää” -komentoa, jossa on + -arvon argumentti, vain lukemalla tiedoston ensimmäiset x-rivit ja käyttämällä sitten häntä poistamalla ne. Ei paras vaihtoehto, paljon ylimääräisiä. Yksinkertaisempi vaihtoehto? Voit jakaa jaetun komennon kääntääksesi tiedoston useisiin tiedostoihin suoraan haluamasi rivinumeron kohdalle ja poista sitten linjat pään tai hännän avulla.
Tai voit vain käyttää sediä.