设备上的 grep 选项‘n’的输出是什么?

设备上的 grep 选项‘n’的输出是什么?

如果我这样做:

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

相关内容