如何使用awk比较文件中连续行上的数字

mar*_*m24 2 awk

我有一个看起来像这样的文件:

15064 3:30
15401 
15716 
16152 
290 
881 
2048 4:00
2920 
Run Code Online (Sandbox Code Playgroud)

我想检查每行的第一个值,将其与前一行的值进行比较,如果小于,则在前一行打印 number 的值。所以输出应该是:

16152
Run Code Online (Sandbox Code Playgroud)

有没有办法用 awk 做到这一点?

Ste*_*itt 6

是的:

awk '$1 < prev { print prev } { prev = $1 }'
Run Code Online (Sandbox Code Playgroud)

这将打印prev第一个字段小于存储的值prev(最初为 0)的每一行,并prev在所有情况下存储第一个字段。