我正在尝试用 awk 编写一个简单的脚本,但得到了奇怪的结果并且不明白为什么。在手册或网络中找不到任何线索:
这是输入文件:
# Keyspace
db0:keys=14,expires=4,avg_ttl=454226332
这是命令
gawk -F : '/^db/ { split($2, keys, ","); for(i in keys) { k = gensub("=", ":", "g", keys[i]); print ("redis." $1 "." k "Z")} }'
结果如下:
redis.db0.keys:14Z
redis.db0.expires:4Z
Zedis.db0.avg_ttl:454226332
为什么最后一行末尾没有“Z”?我使用 gawk 还是 awk (Mac) 都没有关系。
预期结果是:
redis.db0.keys:14Z
redis.db0.expires:4Z
redis.db0.avg_ttl:454226332Z
您的输入文件在每一行的末尾都有一个 control-M,用于cat -v
查看它dos2unix
或类似地删除它们。
这一定是 FAR 最常见的问题,我们得到的问题是……希望有一些“在发布之前运行cat -v file
并寻找^M
s”的要求,我们可以强加给问题!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句