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.
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.
Yanıtlar:
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.
Dosya sonundan 2 kilobayt kesin:
truncate -s-2K file
Örneğin dd'yi kullanabilirsiniz:
dd if=yourfile of=outname bs=4k count=thefirstX4kb
truncate
Sistem ç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ı; dd
hataları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
Sen kullanabilirsiniz split
ya ed
, awk
ya da herhangi bir programlama dili.
vim
(yanlış olabilir) bir 4G sınırı vardır ama yerinde (yanlış olabilir) yok sanmıyorum.