有谁知道我可以从一个文件中读取前两个字符,使用bash脚本。 有问题的文件实际上是一个I / O驱动程序,它没有新的行字符,实际上是无限长的。
read
内建支持-n
参数:
$ echo "Two chars" | while read -n 2 i; do echo $i; done Tw o ch ar s $ cat /proc/your_driver | (read -n 2 i; echo $i;)
我认为dd if=your_file ibs=2 count=1
就可以了
用strace查看它显示它有效地从文件读取两个字节。 这里是从/ dev / zero读取的一个例子,并通过管道输入hd来显示零:
dd if=/dev/zero bs=2 count=1 | hd 1+0 enregistrements lus 1+0 enregistrements écrits 2 octets (2 B) copiés, 2,8497e-05 s, 70,2 kB/s 00000000 00 00 |..| 00000002
echo "Two chars" | sed 's/../&\n/g'
天儿真好,
为什么不使用od来获得你需要的切片?
od --read-bytes=2 my_driver
编辑:您不能使用head作为head命令打印到标准输出。 如果前两个字符不能打印,你什么都看不到。
od命令有几个选项可以根据需要格式化字节。