참고. 문자열, 숫자로 변환 할 때
OFMT
이 사용되는 예 : 숫자를 문자열로 변환 될 때
<<< 0.77767686 awk '{ print 0+$0 }' OFMT='%.2g'
CONVFMT
가 사용되는 예 : 두 경우 모두
<<< 0.77767686 awk '{ print "" 0+$0 }' CONVFMT='%.2g'
출력 :
0.78
후자는 $0
을 int o 숫자를 입력 한 다음 빈 문자열과 연결합니다. 연결하여 문자열로 다시 먼저 0+$0
와 숫자로,
<<< '0.77767686 0.76555555 0.6667667 0.77878878' \
awk '{ print 0+$0 RT }' CONVFMT='%.2g' RS='[ \t\n]+' ORS=''
주 두 변환 :
내가 입력 및 출력 레코드 분리의 재치있는 설정을 사용하는 것이 좋습니다 것 모든 열이를 달성하기 위해 그것과 함께
RT
.
RT
은 일치하는 레코드 분리 기호로 설정됩니다. 이 GNU 루프를 사용, 더 휴대용 솔루션을 위해, 특정 awk가 있음을 참고, 예를 들면 : 두 경우 모두
<<< '0.77767686 0.76555555 0.6667667 0.77878878' \
awk '{ for (i=1; i<=NF; i++) $i+=0 } 1' CONVFMT='%.2g'
출력 : 다른 사람이 당신이로 필드를 처리 할 필요가 언급 한 것처럼
0.78 0.77 0.67 0.78
'$ 0'은 숫자가 아닌 문자열입니다! '$ 1'..' $ 4'을 사용하십시오. – TrueY