如果我这样做:
grep -a -n'测试'/dev/sdb10
它将在设备 sdb10 上以二进制级别搜索字符串“test”。我可以看到“n”选项的输出,但它代表什么?设备是否被视为单个文件?
我的目标是精确定位设备上文件的位置,以便我可以“添加”驱动器的某个部分。
答案1
开关-a
( --text
) 确实将二进制文件视为文本文件,并且/dev/sdb10
始终将设备文件视为实际文件,但-n
开关 ( --line-number
) 仅打印行号,这在这种情况下毫无用处。-b
开关 ( --byte-offset
) 将帮助您找到字符串的位置。
为了避免回显大量不可打印的字符,您可以将它与-o
开关 ( --only-matching
) 结合使用。
例子:
sudo grep -abo test /dev/sdb10