如何移动到文件中的“第 N”个偏移量

如何移动到文件中的“第 N”个偏移量

我需要一个命令来获取 文件中的第 th 偏移量。
假设这是我的文件内容:

[root@localhost ~]# cat /file1.txt
this is the the first line of many lines
and is just a sample file

我想使用命令查找第 6 个偏移处的字符,在本例中为i.

是否有任何命令或vi编辑器命令可以工作?

答案1

dd bs=1 skip=5 count=1 <infile

i

...或者,如果您想分享...

{ dd bs=5 skip=1 count=0; cat; } <infile

is the the first line of many lines
and is just a sample file

...尽管如此抵消是由字节不是字符。尽管如此,对于常规输入文件来说,dd仍不容易匹配寻找偏移量。

答案2

vim,:goto 6或 中,6go会将光标移动到当前缓冲区中包含第 6 个字节的字形。

如果偏移量指向换行符,它将把光标定位在相应行的末尾(在您的示例中,40go并将41go光标带到相同的位置)。

答案3

Cut就是您正在寻找的。

cut -b6 file1.txt

这显示了文件每行的第 6 个字节。我认为你只想要第 6 个字节,所以你可以使用类似的东西head

head -n1 file1.txt | cut -b6

瞧。

答案4

另一种使用 od 的方法——

 od -An -c -j 5 -N1 file
 i

相关内容