head
Veya gibi komutları kullanmanın temel sorunu tail
, satır yönelimli ve ikili dosyaların olmamasıdır. İçlerinde yeni satırlar varsa, genellikle bir satırın sonunu temsil etmek için kullanılmazlar ve eğer öyleyse, sadece program mesajları veya veri alanları gibi dizelerin bir parçası olabilirler.
Veriler herhangi bir şekilde yapılandırılmışsa, o zaman bölme noktalarını seçerken bunu dikkate almanız gerekir, böylece ortadaki yapıları kırmazsınız.
Dosyanın yapısını biliyorsanız, aşağıdaki gibi bir komut kullanabilirsiniz:
dd -if input-file -of output-file ...
yalnızca belirli bir boyuttaki çok sayıda veri bloğunu belirli bir (artan) ofsetten başlayarak dosyaya kopyalama seçenekleriyle.
Öyle görünüyor split
sizin için bu işlemi otomatik olacak @egmont tarafından belirtildiği gibi komutu, ancak ek seçenekleri belirtmek gerekir böylece, hat odaklı varsayılan olarak görünüyor gibi --bytes count
ne kadar büyük dosyasının her parçası olmalıdır anlatmamız olmak.
Bir yan not olarak, bir dosyada ne olduğunu bilmiyorsanız, ancak en azından bazı anlamlı metin verileri içerdiğinden şüpheleniyorsanız, strings
komut, neyle uğraştığınızı görmek için ilk kez bakmanın harika bir yoludur.
strings -n 6 file | less
yazdırılabilir karakterlerin tüm çalışmalarını en az altı karakter uzunluğunda bulur ve terminalde uçmamaları için bir çağrı cihazında görüntüler. Varsayılan 4 karakterden biraz daha büyük bir sayı kullanmak, yazdırılabilir olan ancak dosyada bu şekilde kullanılmayan küçük veri snippet'lerinin ortadan kaldırılmasına yardımcı olur.
Daha sonra dosyayı ikili düzenleyici ile daha ayrıntılı olarak keşfetmek zorunda hexedit
kalırsanız, ilginç bir şeyin nerede bulunabileceğini gösteren bazı yer işaretlerine sahip olursunuz.
strings
bir seçeneğe sahiptir - t x
her yazdırılan dizenin ofseti ile birlikte onaltılı sayıya gelir (ondalık için sekizlik / d için), böylece daha sonra nerede bulacağınızı bilirsiniz. Çok kısa dosyalar bile onlara karakter karakter bakmak zorunda kaldığınız zaman uğraşmak için çok şey var.
split
Komuta bir göz atın .