次の番号のリストを含むファイルがあります。
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.1
1
prev