将 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