将 head 集成到一行 bash CLI 中
integrate head in a one-liner bash CLI
我有这个命令
$ sha1sum file.bin | cut -f1 -d " "
计算一些 eeprom 内容的 sha1sum。 cut 后面的管道是为了摆脱输出中的文件位置并仅检索 sha1.
我的问题是我需要在 file.bin
的前 N
行计算 sha1。该文件是一个 table/array 行,每行 32 字节(固定长度)。
我知道我必须输入一些 head -n N
,但不知道如何使用重定向。语法是 head -n N <file>
.
我天真地尝试了 sha1sum file.bin | cut -f1 -d " " | head -n 8
但它不起作用。我需要 shell 以某种方式理解这个:sha1sum(head -n 8 file.bin) | cut -f1 -d " "
,但我们不能在 shell 中使用数学函数语法,我猜...
请问怎么做?此致
将head
的输出作为sha1sum
的输入,就像sha1sum
的输出是cut
的输入一样。
head -n 8 file.bin | sha1sum | cut -d " " -f1
或者,如果文件是二进制文件,则使用前 N 个字节 -c
head -c 1024 file.bin | sha1sum | cut -d " " -f1
我有这个命令
$ sha1sum file.bin | cut -f1 -d " "
计算一些 eeprom 内容的 sha1sum。 cut 后面的管道是为了摆脱输出中的文件位置并仅检索 sha1.
我的问题是我需要在 file.bin
的前 N
行计算 sha1。该文件是一个 table/array 行,每行 32 字节(固定长度)。
我知道我必须输入一些 head -n N
,但不知道如何使用重定向。语法是 head -n N <file>
.
我天真地尝试了 sha1sum file.bin | cut -f1 -d " " | head -n 8
但它不起作用。我需要 shell 以某种方式理解这个:sha1sum(head -n 8 file.bin) | cut -f1 -d " "
,但我们不能在 shell 中使用数学函数语法,我猜...
请问怎么做?此致
将head
的输出作为sha1sum
的输入,就像sha1sum
的输出是cut
的输入一样。
head -n 8 file.bin | sha1sum | cut -d " " -f1
或者,如果文件是二进制文件,则使用前 N 个字节 -c
head -c 1024 file.bin | sha1sum | cut -d " " -f1