bash - 检查是否在 bash 中设置了第 n 位

标签 bash awk binary

我想知道是否有办法用检查是否 $2 的东西替换 if 语句。第 7 位是否设置为 1?

cat $file | awk '{if ($2 == 87) print $1; else {}}' > out.txt"

例如,93 应该打印一些东西而 128 不应该。

最佳答案

bash 有按位运算符

测试第 7 位:

$ echo $(((93 & 0x40) != 0))
1

$ echo $(((128 & 0x40) != 0))
0

另见 bash documentation

虽然如果你从文件中解析值,你可能最好继续使用 awk,正如@RakholiyaJenish 的答案

关于bash - 检查是否在 bash 中设置了第 n 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31179484/

相关文章:

mysql - bash中返回变量的问题

使用 PROMPT_COMMAND 时,Python venv 模块无法将虚拟环境名称添加到 PS1?

python - 创建逗号分隔的路径列表(允许路径中存在空格),并将结果作为变量传递以供再次使用

vim - 使用 awk 替换 gvim 中切换值的第一个实例

c - 如何确定单个数组中位的重复模式

arrays - 使用 bash 将 API 数据放入 bash 数组

linux - shell脚本杀死监听端口3000的进程?

awk - 带有 awk 的 pretty-print 表

iphone - CoreData (for iphone) 存储图片

machine-learning - 对于不平衡数据,要预测哪一类?