数値 1 を超える場合は、その列の値を書き換えて前の行の値を取得します。

数値 1 を超える場合は、その列の値を書き換えて前の行の値を取得します。

次の番号のリストを含むファイルがあります。

0.1131492
0.1231466
0.1327564
0.1017683
5.4356130
0.1360532
5.4258129
0.1433982
0.1124752
.
.
.

行に1.0000を超える値が含まれている場合は、この数値リストをオーバーライドしてから、前の行から数値/値を取得したいと思います。たとえば、次のようになります。

0.1131492
0.1231466
0.1327564
0.1017683
0.1017683
0.1360532
0.1360532
0.1433982
0.1124752
.
.
.

ベストアンサー1

awk '$0>1 { $0=NR==1?0.1:prev }{ prev=$0; print }' file

行番号が大きい場合は現在の行に割り当てられ1、それ以外の場合は以前の値に割り当てられます。次に、現在の行を変数に割り当て、現在の行を印刷します。0.11prev

おすすめ記事