2015-01-09 3 views
0
cat file.txt 
1 
1.6 
0 
0.7 
2 
3 
3.7 

예상 출력은 다음과 같습니다AWK에 수레을 정수로 변환

1.0 
1.6 
0.0 
0.7 
2.0 
3.0 
3.7 

어떤 AWK 또는 bash는 솔루션? 정수는 어디에서라도 float로 변환합니다.

답변

3

awk까지 결과 인쇄에 사용하려는 형식을 나타내는 것이 중요합니다.

$ awk '{printf ("%.1f\n", $1)}' file 
1.0 
1.6 
0.0 
0.7 
2.0 
3.0 
3.7 

당신은 등, 5 개 자리를 얻을 자세한 내용은 제공된 링크를 참조 과학적 형식 %e, %.5f을 말할 수있다 : 당신이 1 개 소수점 자리를 원하는 것을 나타 내기 위해서 printf를 사용합니다.

+1

잘 작동합니다. 감사합니다 fedorqui. – user3652962

1

awk의 솔루션과 마찬가지로 printf도 bash와 함께 사용할 수 있습니다. 예 : xargs를 통해 :

cat file.txt | xargs -n 1 printf "%.1f\n" 

의 printf의 서식 옵션 similar이다.

printf (awk 또는 bash 용)는 반올림 값을 출력합니다. 입력 한 내용이 0.77 인 경우 %.1f 형식의 결과는 0.8이됩니다.

+0

입력 파일이 거대하지 않은 경우'-n 1'은 필요하지 않습니다. – anishsane