두 개의 열로 구성된 데이터 파일이 있습니다. 아래와 같이 이 열에 대해 산술 연산을 수행해야 합니다.
column_1=a(i)
column_2=b(i)
내가 줄 번호는 어디야?
result_1=a(1)*100/b(1)
result_2=a(2)*100/b(2) ....
그런 다음 모든 결과를 열로 구성된 다른 텍스트 파일에 작성해야 합니다. 아래 코드를 시도했지만 모든 값이 Inf로 보입니다.
nawk -F, '{print $1*100/$2}' data > results
답변1
당신은 말하고 있지만 -F,
(귀하의 의견에 따라) 귀하의 데이터는 쉼표가 아닌 공백으로 구분됩니다. 그래서 [n]awk
보이는 게 이거예요
Line 1: $1="100 150" $2=""
Line 2: $1="200 250" $2=""
산술 표현식에 사용한 후에는 다음 awk
으로 변환하십시오.
Line 1: $1=100 $2=0
Line 2: $1=200 $2=0
그러면 0으로 나누어지게 됩니다. 그냥 생략하거나 -F,
데이터를 쉼표로 구분하여 변경하면 원하는 결과를 얻을 수 있습니다. 글쎄, 내 시스템에서는 거의 다 끝났 66.6667
습니다 80
. 결과를 가장 가까운 정수로 반올림하면 됩니다(실제로 원하는 정수인 경우).