Ben bir ikili dosya var ve parçaları kaldırmak istiyorum. Çıkarmakla, bu parçaları silmeyi ve böylece dosyanın boyutunu küçültmeyi kastediyorum.
Parçalar iki ASCII dizgisi arasında olacaktı. Yani, örneğin dosya böyle görünür
........ start ABCD end ..... start EFGH end ..... start IJKL end ...........
Yani bu dosyada "start" ve "end" dizgilerini aramak ve aralarındaki parçaları kaldırmak istiyorum.
Yapabileceğimi düşündüğüm yol
- "start" ve "end" için tüm yerleri arayın
- bundan aralıkları hesapla
- bu parçaları sil
Şimdi bazı GUI tabanlı Hex editörü kullanıyorum ve "Tümünü Ara", "Aralık Seç" ve "Sil" komutlarını kullanıyorum, ancak bazı güçlü komut satırı hex / text editörlerini kullanarak çözmenin mümkün olacağından eminim.
Bu sorun için aramaya bakmak, panoya kopyalamak ve yapıştırmak, aralık seçmek ve komutları silmek için bir GUI kullanılmasını gerektirmeyen herhangi bir çözüm biliyor musunuz ?
Hem Linux kabuk betikleri hem de Windows altında bazı komut satırı hex editörleri kullanmakla ilgileniyorum, hatta Python betikleri bile bekliyoruz.
Bu sorunu sadece basit bir Regex yerine koymanın mümkün olduğunu düşünüyor musunuz? İkili dosyaları iyi idare eden herhangi bir regex alternatifi var mı?
-a
metin olarak işlem yapma seçeneği vardır ve bencevim
onaltılık editör olarak yeterli olabilir.