파일이 있어요
January 124,567.89
Feburary 234,567.78
March 349,123.77
April 112,248.00
May 107,345.22
June 180,670.23
July 122,457.03
August 345,789.99
September 234,567.90
October 145,890.95
Novemeber 245,789.76
December 111,890.22
나는 awk 함수를 다음과 같이 작성했습니다.
{
removecommas()
}
function removecommas(total)
{
gsub(",","",$2)
total+=$2
return total
}
function addcommas()
{
total=removecommas(total)
return sub(/[1-9]{3}/,"&,") total
}
END{
print addcommas()
}
~
값을 추가하고 싶지만 $2
그 전에 다음을 수행하고 싶습니다.
- 쉼표 제거
- 인쇄하기 전에 쉼표를 추가하여 전체 결과를 인쇄하세요.
나는 붙어있다 :-
- 한 함수의 결과를 다른 함수에 전달하는 방법은 무엇입니까?
sub function
다른 함수에서 실행하려면 어떻게 해야 하나요?
감사해요
답변1
직접적인 답변은 아니지만 영감을 받았습니다.awk의 천 단위 구분 기호
function addcommas()
{
removecommas(total)
return sprintf ("%'.2f",total) ;
}
아니면 좀 더 직접적인 방법
function addcommas()
{
t2 = total ;
sub(/[1-9]{3}/,"&,",t2) ;
return t2 ;
}
나는 awk가 sub() arg
.applies 또는 .applies sub
와 같은 $0
세 번째 매개변수를 허용하지 않을 것이라고 생각합니다.