Files
如何檢查一個大的二進製文件是否包含另一個文件的內容?
我有一個大的二進製文件,例如一個 WAV 文件,我懷疑它可能包含一個較小的 WAV 文件的整個字節序列。
我如何檢查它是否有效?如果是這樣,我如何找到起始位置?
就像是:
$ findguts big.wav small.wav 1234 # the contents of small.wav are found inside big.wav starting at byte #1234
與
perl
:perl -l -0777 -ne ' print "found at offset $o" if ($o = index($_, <STDIN>)) >= 0 ' big.wav < small.wav
(請注意,這兩個文件都載入到記憶體中,因此它不會擴展到非常大的文件)。