1
让file.txt
问题是下列文件AWK - 如果有else语句
1
2
3
5
6
7
15
16
17
19
20
23
24
我试图写一个awk
命令,打印数字,它缺少的范围。当范围只包含一个数字时,则应打印此数字。预期的输出是
4
8-14
18
21-22
This post几乎做的工作,我与一个衬垫
awk '$1!=p+1{print p+1"-"$1-1}{p=$1}' file.txt
4-4
8-14
18-18
21-22
我试图修改它
awk 'if ($1!=p+1){if (p+1!=$1-1) {print p+1"-"$1-1} else {print p+1} }{p=$1}' file.txt
但预计它不工作。我似乎误解了if-else语法。我究竟做错了什么?
阅读第一夫妇的书有效AWK编程页,第4版,由阿诺德·罗宾斯来解决这个问题。然后阅读本书的其余部分:-)。 –