[완료]awk에서 argument 사용하는 법?

foruses의 이미지

>cat ifile
4 5 6 7
3 5 6 0
2 4 9 6

awk '{print $1}' ifile > ofile
awk '{print $2}' ifile >> ofile
awk '{print $3}' ifile >> ofile
awk '{print $4}' ifile >> ofile

이 작업을 간단히 하려고 아래처럼 해봤는데, syntax error가 나네요.

set nn = 1
while ( nn <= 4 )
awk '{print $${nn}}' ifile >> ofile
@ nn++
end

어떻게 해야하나요?

익명 사용자의 이미지

awk -v nn=1 '{print $nn}' ifile

awk '{print $'$nn'}' ifile

cut -d ' ' -f $nn ifile
익명 사용자의 이미지

첫번째 방식 버그 수정.

awk -v nn=$nn '{print $nn}' ifile

foruses의 이미지

^^