Yanıtlar:
dd
Kurtarmaya Unix'in DareDevil komutları !
dd if=yourfile ibs=1 skip=200 count=100
Bu, bayt 200'den başlar ve 100 sonraki bayt veya başka bir deyişle, 200-300 bayt gösterir. ibs
dd, varsayılan 512 bayt yerine her seferinde yalnızca bir bayt okur, ancak yine de varsayılan 512 bayt yığınlarında yazar. Git ve ibs
performansa zarar verip vermediğini gör , umarım olmaz.
Kullanabilirsiniz dd if=logfile of=pieceoflogfile skip=startingblock count=#ofblocks
(muhtemelen bs=1
bir baytlık bloklar almak için ile , aksi takdirde 512 baytlık bloklar kullanır). Yine de bir seferde bir bayt yazmanın ne kadar verimli olduğundan emin değilim.
dd
2'ler birbirine zincirleme bağlanabilir (1'inci yağ parçasını kesebilir ve 2'ini disk değil, boru üzerinde iyi iş yapar), ancak dd
sadece bs
ayrı değil ibs
ve obs
aynı zamanda, en azından okumaktan daha büyük bloklarla çıktı olabilir.
Dosyanın aşırı büyük olmadığı varsayılırsa (örneğin, birkaç GB veya daha fazla), birinden diğerine borulama yapabileceğiniz kadar verimlidir, bunu yapmak için kendi programınızı yazmazsınız.
head ... file | tail ...
(Ya da başka türlü. Hangisi?)
time dd if=file.txt | wc -l
= 00: 00: 03s.time dd if=file.txt ibs=1 count=782090815 | wc -l
= 9:05:19