我正在尝试用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
答案 0 :(得分:1)
您的输入文件在每行末尾都有一个控件-M,使用cat -v
查看它,dos2unix
或类似内容将其删除。
这有FOT是FAR最常见的问题我们得到的问题....希望有一些“运行cat -v file
并寻找^M
s之前发布”我们可以施加的要求问题!