Büyük bir dosyayı yerinde nasıl düzenleyebilirim?


18

Her biri 1 GB boyutunda birkaç dosyam var. Dosyalardan son birkaç baytı kaldırmam gerekiyor. Nasıl yapabilirim? Disk alanından tasarruf etmek için dosyayı yerinde düzenlemeyi tercih ederim.

HP-UX kullanıyorum.


Bence vim(yanlış olabilir) bir 4G sınırı vardır ama yerinde (yanlış olabilir) yok sanmıyorum.
Ağustos'ta xenoterracide

1
@xenoterracide: Burada vim yok :-( ve vi "Tmp dosyası çok büyük" hatası veriyor.
Hemant

1
@Hernant: Bu mesaj size yerinde düzenleme hakkında bilmeniz gereken her şeyi anlatır: vi üzerinde çalışmak için / tmp dosyasına kopyalamaya çalışıyor. Ben vim aynı şeyi yapacağını düşünüyorum ve aynı dizinde bir yedekleme oluşturmak ister.
David Thornley

Yanıtlar:


10

Hexedit kullanmayı deneyin HP-UX üzerinde denemedim ama işe yarayacak. Dosyadaki bir konuma gitmenizi ve kısaltmanızı sağlar. Tüm dosyayı okumadığından emin değilim ama sadece görüntüleme için uygun bir yer arar.

Bir kez başlattığınızda kullanımı oldukça basittir, ok tuşları hareket etmenizi sağlar. F1 yardım eder. Ctrl-G dosyadaki bir konuma gider (ipucu: sonuna kadar gitmek için ekranın alt satırındaki dosyanın boyutunu kullanın). İmleci kısaltmak istediğiniz ilk bayt üzerine getirin ve kısaltmanın tamamlanacağını onayladıktan sonra Escape T tuşuna basın. Ctrl-x çıkar.



6

Örneğin dd'yi kullanabilirsiniz:

dd if=yourfile of=outname bs=4k count=thefirstX4kb

1
Yanıtınız için teşekkürler. Disk alanından tasarruf etmek için dosyayı yerinde düzenlemeyi tercih ederim. Hiçbir şey yardımcı olmazsa dd :-) kullanacağım.
Hemant

6

truncateSistem çağrısına erişmenizi sağlayan bir araç kullanın . Bunu yalnızca POSIX araçlarıyla yapabilirsiniz. Bir tarayıcıya yazılan uyarı; ddhataların olağan unix komutundan daha da affedilmemesi gibi özellikle dikkatli olun . 123456, saklanacak bayt sayısıdır.

dd if=/dev/null of=/file/to/truncate seek=1 bs=123456

Perl sürümü çok daha okunabilir:

perl -e 'truncate "$ARGV[0]", 123456 or die $!' /file/to/truncate

1

Sen kullanabilirsiniz splitya ed, awkya da herhangi bir programlama dili.


Yanıtınız için teşekkürler. Disk alanından ve bellekten tasarruf etmek için dosyayı yerinde düzenlemeyi tercih ederim.
Hemant
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.