다음 번호 목록이 포함된 파일이 있습니다.
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