有没有办法指定从命令行读取二进制文件中某个位置/偏移量的文件字节?(即单行)例如
perl -ne <...seek n bytes into file... do stuff...> inputfile
我还没有看到这个,并尝试过使用 seek、sysseek 等。
只是想尝试pack
并unpack
通过读取文件中不同偏移量的字节长度。
更新
除了接受的答案之外,我只想添加以下等效答案,但(对我而言)更容易记住+阅读
perl -lne 'BEGIN{$/=undef, $offset=1, $len=2} print unpack("H*", substr($_, $offset, $len))' input
UPDATE2 为了进行 hexdumps 以下工作
perl -0777 -ne '(printf "0x%02x ", $_) for (unpack "C*", substr($_, 0x1, 0x2))' input