28Jun
Kendi sunucularınızı yönetirken, yarı-düzenli olarak yapmanız gereken şeylerden birisi, dosyanın ortasından dosyaları çıkarmaktır. Belki bir günlük dosyasıdır veya yaptığım gibi MySQL yedek dosyanızın ortasından ek bir tabloya ihtiyacınız vardır.
Satır numaralarını bulmak için basit bir grep -n komutu işi yaptı( -n bağımsız değişkeni satır numaralarını çıktı).Bu, çekip çıkarmam gereken şeyi bulmamı kolaylaştırdı.
grep -n wp_posts howtogeekdb010114.bak |daha fazlasıBunun gibi bir sonuç ortaya çıkar ve çıktıların sol tarafındaki satır sayısını gösterir. Her şeyi "daha" içine yerleştirmek, ilk satırın kaydırılmadan görülebilmesini sağlar.Şimdi, başlamak üzere satır numaranız ve muhtemelen ile biten numaranız var.
4160: - Tablo `wp_posts` için tablo yapısı 4163: DROP TABLE IF EXISTS` wp_posts`;42066: CREATE TABLE `wp_posts '(4203: -' wp_posts 'tablosu için veri dökümü 4206: LOCK TABLO' wp_posts` WRITE; 4207: / *! 40000 ALTER TABLO` wp_posts` DISABLE KEYS * /; 4208: INSERT INTO `wp_posts`DEĞERLER( 1,2, '2006-09-11 05:07:23', '2006-09-11Tabii ki, grep'in çıktısını tabii ki başka bir dosyaya gönderebilirsiniz:
grep keyword filename.txt & gt; outputfileBenim durumumda, işe yaramıyordu, sonuçta çıkan yedeği bir nedenle alamadım. Yani, sed kullanarak satırları ayıklamak için farklı bir yol buldum ve bu yöntem işe yaradı.
sed -n '4160,4209p' howtogeekdb0101140201.bak & gt; çıktı dosyasıTemel olarak sözdizimi şu şekildedir: -n bağımsız değişkenini kullanmayı ve ikinci satır numarasından sonra "p "'yi eklemeyi unutmayın
sed -n 'FIRSTLINENUMBER, LASTLINENUMBERp 'dosyaadı & gt; çıktı dosyası adıBir dosyanın ortasında belirli satırları dışarı çekebileceğiniz başka yollar var mı?"Komutu, bir dosyanın ilk x satırlarını okumak için + sayı bağımsız değişkeniyle komut satırına ayıklamak için kuyruğu kullanın. En iyi seçenek değil, çok masraflı.Daha basit bir seçenek mi? Dosyayı, istediğiniz satır numarasına doğru birden çok dosyaya çevirmek için split komutunu kullanabilir ve sonra satırları baş ya da kuyruk kullanarak ayıklayabilirsiniz.
Veya sadece sed kullanabilirsiniz.