作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不明白为什么 float 比较在 mawk 中不起作用:
mawk '$3 > 10' file.txt
[...]
9_6_F-repl 24834 38.8699
9_6_F 56523 17.9344
9_7_F 3196 3.68367
9_9_F 2278 2.37445
9_annua_M-merg 122663 163.557
9_huetii_F-merg 208077 172.775
[...]
虽然它在 awk 上表现完美:
awk '{if ($3 > 10) print $1}' file.txt
我显然在这里做错了什么,但我不明白是什么。
最佳答案
如果文件有 CRLF 行终止符,它会失败。先删除\r
:
$ file foo
foo: ASCII text, with CRLF line terminators
$ mawk 'sub(/\r/,"") && ($3 > 10)' foo
9_6_F-repl 24834 38.8699
9_6_F 56523 17.9344
9_annua_M-merg 122663 163.557
9_huetii_F-merg 208077 172.775
或者您可以使用 dos2unix
或类似的。
EDIT2:如果您使用以逗号作为小数点分隔符的语言环境,它会影响 mawk 中的 float 比较。
在这种情况下,您可以:
1) 将语言环境设置为
LANG="en_US.UTF-8"
或
2) 将小数分隔符更改为逗号并将其通过管道传递给 mawk:
mawk '$3 > 10' <(cat file.txt | sed -e "s/\./,/")
关于awk - awk 和 mawk 中的 float 比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41180548/
我已经定义了一个正则表达式,它匹配由一个或多个空格分隔的单词列表,其中一个单词后跟一个星号。奇怪的是,对于只有一个单词的列表,当我使用 mawk 时表达式不匹配,但当我使用 gawk 和 nawk 时
以下愚蠢的硬编码应该是某种循环或并行结构,名义上有效,但它是糟糕的 mawk 语法。我很好的 mawk 语法尝试都失败了,在 mawk(未显示)和 gnu parallel(未显示)中使用 for 循
我有一个文件: To jest długi string z wieloma polskimi literami ąółżęś kodowany w UTF8, żeby było śmiesznie
我不明白为什么 float 比较在 mawk 中不起作用: mawk '$3 > 10' file.txt [...] 9_6_F-repl 24834 38.8699 9_6_F
我是一名优秀的程序员,十分优秀!