我有以下需要操作的温度数据。考虑使用sed
在数据之间插入空格,但数据不断变化。
76 75 75 77 80 84 87 91 94 97100101101102101 97 92 89 86 84 82 81 79 78 77
我需要它看起来像这样:
76 75 75 77 80 84 87 91 94 97 100 101 101 102 101 97 92 89 86 84 82 81 79 78 77
现在,我使用以下代码来解析最高值(数字聚集在一起):
grep -Eo '[0-9]' .../temp.txt | sort -rn | head -n 1
答案 0 :(得分:4)
要做的第一件事就是修改生成数据的任何内容,以便输出更宽的字段宽度。
如果那是不可能的,那么以下内容将对输出进行去除:
$ sed 's/\([ 1-9][0-9][0-9]\)/ \1/g' data | tr -s ' '
76 75 75 77 80 84 87 91 94 97 100 101 101 102 101 97 92 89 86 84 82 81 79 78 77
我将tr
放在最后只是为了删除sed
输出中的连续空格(为所有两位整数生成,除了第一个,在这种情况下,不是' t与正则表达式匹配)。
但实际上,需要更新数据生成器。