の問題がfile.txt
は私が欠けている番号の範囲を印刷しawk
コマンドを記述しようとしていた次のファイルAWK - もしelse文
1
2
3
5
6
7
15
16
17
19
20
23
24
とします。範囲に1つの番号だけが含まれている場合は、この番号だけを印刷する必要があります。予想される出力がある
4
8-14
18
21-22
This postほとんどは、私が
awk 'if ($1!=p+1){if (p+1!=$1-1) {print p+1"-"$1-1} else {print p+1} }{p=$1}' file.txt
にそれを修正しようとした
awk '$1!=p+1{print p+1"-"$1-1}{p=$1}' file.txt
4-4
8-14
18-18
21-22
1つのライナーで私のために仕事をしたが、期待どおりに動作しません。 。私はif-else文法を誤解しているようです。私は間違って何をしていますか?
を使用でき
は、この問題を解決するためにアーノルド・ロビンス著有効なawkプログラミング、第4版、のページの最初のカップルを読みます。次に、本の残りの部分を読む:-)。 –