繁体   English   中英

将打印头集成到单行 bash CLI

[英]integrate head in a one-liner bash CLI

我有这个命令

$ sha1sum file.bin | cut -f1 -d " "

计算一些eeprom内容的sha1sum。 pipe 后跟 cut 是为了摆脱 output 中的文件位置并仅检索 sha1。

我的问题是我需要在file.bin的前N行计算 sha1。 该文件是一个 32 字节(固定长度)行的表/数组。

我知道我必须放入一些head -n N ,但不知道如何使用重定向。 语法是head -n N <file>

我天真地尝试过sha1sum file.bin | cut -f1 -d " " | head -n 8 sha1sum file.bin | cut -f1 -d " " | head -n 8 sha1sum file.bin | cut -f1 -d " " | head -n 8但它不起作用。 我需要 shell 以某种方式理解这一点: sha1sum(head -n 8 file.bin) | cut -f1 -d " " sha1sum(head -n 8 file.bin) | cut -f1 -d " " ,但我猜我们不能在 shell 中使用数学 function 语法...

请问怎么做? 问候

head的 output 作为sha1sum的输入,就像sha1sum的 output 作为cut的输入一样。

head -n 8 file.bin | sha1sum | cut -d " " -f1

或者,如果文件是二进制文件,则将前 N 个字节与-c一起使用

head -c 1024 file.bin | sha1sum | cut -d " " -f1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM