我处理不同的二进制数据。通常,这些是带符号的16位流。使用hexdump时,它看起来像:
...
2150 -191 -262 15 -344 -883 -820 -1038 -780
-1234 -1406 -693 131 433 396 241 600 1280
...
我只想查看数据流中那些大于或小于某个阈值的元素(数据是16位二进制符号)。它可能看起来像:
cat data.pcm | $($here_some_filtering) 2100 -2100
其中输出必须仅提供大于2100且小于-2100的元素。有没有简单的命令行方法该怎么做?
最佳答案
$ cat pcm
2150 -191 -262 15 -344 -883 -820 -1038 -780
-1234 -1406 -693 131 433 396 241 600 1280
$ for num in $(< pcm); do ((num > 2100 || num < -2100)) && echo $num; done
2150
关于linux - 在bash中处理二进制数据文件,查找大于某个数字的元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4375276/