次のような入力ファイルがあります (最初の列は場所番号で、2 番目の列は時間の経過とともに増加するカウントです)。
1 0
1 2
1 6
1 7
1 7
1 8
1 7
1 7
1 9
1 9
1 10
1 10
1 9
1 10
1 10
1 10
1 10
1 10
1 10
1 9
1 10
1 10
1 10
1 10
1 10
1 10
そして、次のように修正したいと思います(前のカウントで減少した代替カウント):
1 0
1 2
1 6
1 7
1 7
1 8
1 8
1 8
1 9
1 9
1 10
1 10
1 10
1 10
1 10
1 10
1 10
1 10
1 10
1 10
1 10
1 10
1 10
1 10
1 10
1 10
私はこれに awk を使用しようとしていますが、行番号 (NR?) をリセットする方法がわからないため、getline でつまずいています。そのため、各行が読み取られ、2 行ではなく次の行になります。一度に。これは私がこれまでに持っているコードですが、何かアイデアはありますか?
awk '{a=$1; b=$2; getline; c=$1; d=$2; if (a==c && b<=d) print a"\t"b; else print c"\t"d}' original.txt > fixed.txt
また、これは私が現在得ている出力です:
1 0
1 6
1 7
1 7
1 9
1 10
1 9
1 10
1 10
1 9
1 10
1 10
1 10