Bash 停止awk以将一个变量与下一个记录进行比较

Bash 停止awk以将一个变量与下一个记录进行比较,bash,awk,Bash,Awk,我的问题如下:我有一个文件,格式如下: 1 apple 3 pear 7 lemon 我想做的是在这些行上添加空行,它们不等于第一列中的值,以便在输出中相等: 1 apple 3 pear 7 lemon 我试着用awk做这件事: awk'{for(i=1;i在awk中,(基于预期输出): $awk'{a[$1]=$0;max=$1}END{for(i=1;i另一个awk解决方案(不使用数组): awk'p{for(i=p+1;i不使用数组,几乎没有内存开销 输入 [akshay@g

我的问题如下:我有一个文件,格式如下:

1 apple
3 pear
7 lemon
我想做的是在这些行上添加空行,它们不等于第一列中的值,以便在输出中相等:

1 apple

3 pear



7 lemon
我试着用awk做这件事:
awk'{for(i=1;i在awk中,(基于预期输出):


$awk'{a[$1]=$0;max=$1}END{for(i=1;i另一个
awk
解决方案(不使用数组):


awk'p{for(i=p+1;i不使用
数组
,几乎没有内存开销

输入

[akshay@gold tmp]$ cat f
1 apple
3 pear
7 lemon
[akshay@gold tmp]$ awk '{while(++c < $1)print ""}1' f
1 apple

3 pear



7 lemon
输出

[akshay@gold tmp]$ cat f
1 apple
3 pear
7 lemon
[akshay@gold tmp]$ awk '{while(++c < $1)print ""}1' f
1 apple

3 pear



7 lemon
[akshay@goldtmp]$awk'{while(++c<$1)print'}1'f
一个苹果
3梨
7柠檬
带有数字

[akshay@gold tmp]$ awk '{while(++c < $1)print c}1' f
1 apple
2
3 pear
4
5
6
7 lemon
[akshay@goldtmp]$awk'{while(++c<$1)print c}1'f
一个苹果
2.
3梨
4.
5.
6.
7柠檬

Lol,这正是我要编写的代码,但却分心了。TGIF.++@JamesBrown:有时会发生,不用担心:)我不确定我看到了它是如何工作的?最后的1在做什么?@Stats4224:
}1
它执行默认操作,打印当前记录/行/行
{print$0}
,它可以是任何非零value@AkshayHegde谢谢!比它必须要复杂一点:
{for(++i;i
[akshay@gold tmp]$ awk '{while(++c < $1)print c}1' f
1 apple
2
3 pear
4
5
6
7 lemon