Linux Terminalini Kullanarak Bir Dosyanın Ortasından Hatları Kaldırma
Kendi sunucularınızı yönettiğinizde, yarı düzenli olarak yapmanız gereken sonuçlardan biri, bir dosyanın ortasından bir şeyler çıkarmaktır. Belki bir günlük dosyası olabilir veya MySQL yedek dosyanızın ortasındaki tek bir tabloyu eklemelisiniz, yaptığım gibi.
Satır numaralarını bulmak için, basit bir grep -n komutu işi yaptı (-n argümanı satır numaralarını verir). Bu, ne çıkarmam gerektiğini çözmeyi kolaylaştırdı.
grep -n wp_posts Instagram Hesabındaki Resim ve Videoları howtogeekdb010114.bak Daha
Çıktının sol tarafındaki satır numaralarını gösteren buna benzer bir sonuçla sonuçlanır. Her şeyi “daha” içine pipetlemek, ilk satırı ilerlemeden görmenizi sağlar. Şimdi başlamak için bir satır numarasına ve muhtemelen de bitmesi gereken bir numaraya sahipsiniz..
4160: - 'wp_posts' tablosu için tablo yapısı 4163: 'wp_posts' VARSA DROP TABLOSU; 4166: CREATE TABLE 'wp_posts' (4203: - 'wp_posts' tablosu için damping verileri 4206: LOCK TABLES 'wp_posts' WRITE; 4207: / *! 40000 ALTER TABLE 'wp_posts' DISABLE KEYS * /; 'DEĞERLER (1,2,' 2006-09-11 05:07:23 ',' 2006-09-11
Elbette, çıktıyı grep'ten başka bir dosyaya aktarabilirsiniz:
grep anahtar sözcüğü dosyaadı.txt> çıktı dosyası
Benim durumumda bu çalışmak istemiyordu, çünkü elde edilen yedeği bir nedenden dolayı alamadım. Yani, sed kullanarak satırları çıkarmak için farklı bir yol buldum ve bu yöntem işe yaradı.
sed -n '4160,4209p' howtogeekdb0101140201.bak> çıkış dosyası
Temel olarak, sözdizimi, -n argümanını kullandığınızdan emin olarak, ve ikinci satır numarasından sonra “p” yi içerdiğinden emin.
sed -n 'FIRSTLINENUMBER, LASTLINENUMBERp' dosya adı> outputfilename
Bir dosyanın ortasındaki belirli satırları çıkarabileceğiniz başka yollar? Dosyanın ilk x satırını okumak için + sayı argümanıyla “head” komutunu kullanabilir ve ardından bu satırları çıkarmak için kuyruğu kullanabilirsiniz. En iyi seçenek değil, birçok ek yük. Basit seçenek? Split komutunu kullanarak dosyayı istediğiniz dosya numarasından birden fazla dosyaya çevirebilir ve ardından baş veya kuyruk kullanarak satırları çıkarabilirsiniz..
Ya da sadece sed kullanabilirsiniz.