28Jun

Hogyan távolítsuk el a sorokat a fájl közepétől a Linux terminál használatával

click fraud protection

Ha saját szervereidet kezeled, az egyik dolog, amit végül félig rendszeresen kell végrehajtani, a fájl közepétől származó kivonat. Lehet, hogy ez egy naplófájl, vagy egy táblát kell hozzáadnia a MySQL biztonsági mentési fájlja közepétől, mint én.

A vonalszámok kitalálásához egy egyszerű grep -n parancs végrehajtotta a feladatot( a -n argumentum adja ki a vonalszámokat).Ez megkönnyítette, hogy kitaláljam, mit kell kivonni.

grep -n wp_posts howtogeekdb010114.bak |több

Olyan eredményeket talál, mint ez, amely a kimenet bal oldalán lévő sorokat mutatja. A "több" csövezés mindenképpen gondoskodik arról, hogy láthassa az első sort anélkül, hogy gördülne. Most már megvan a vonal száma, és valószínűleg az, hogy véget ér.

4160: - táblázat táblázata a `wp_posts` táblához 4163: DROP TABLE IF EXISTS` wp_posts`;4166: CREATE TABLE `wp_posts`( 4203: - Dömping adatok a` wp_posts` asztalhoz 4206: LOCK TABLES `wp_posts` WRITE; 4207: / *! 40000 ALTER TÁBLÁZAT` wp_posts` DISABLE KEYS * /; 4208: INSERT INTO `wp_posts`VALUES( 1,2, '2006-09-11 05:07:23', '2006-09-11
instagram viewer

Természetesen egyszerűen csak csévélheti ki a kimenetet a grep-ből egy másik fájlba, például:

grep keyword filename.txt> kimeneti fájl

Az én esetemben nem akartam működni, mert valamilyen okból nem tudtam importálni a létrejött biztonsági másolatot, ezért találtam egy másik módszert a vonalak kibontására a sed használatával, és ez a módszer működött

sed -n '4160,4209p' howtogeekdb0101140201.bak & gt; kimenőfájl

Alapvetően a szintaxis így van, ügyelve arra, hogy használd a -n argumentumot, és írd be a "p" -t a második sorszám után

sed -n 'FIRSTLINENUMBER, LASTLINENUMBERp 'fájlnév & gt; kimeneti fájlnév

Néhány más módszer, amellyel egy adott sor közepén egy adott sort húzhat ki?"Paranccsal a + szám argumentummal, hogy csak átolvassuk a fájl első x sorát, majd használjuk a farkát, hogy kivonjuk ezeket a sorokat. Nem a legjobb megoldás, sok a többlet. Egyszerűbb lehetőség? A megosztás parancs segítségével a fájl több fájlba rendezhető a kívánt sorszámmal, majd a fej vagy a farok segítségével kiválaszthatja a sorokat.

Vagy egyszerűen használhatod a sed-et.