2013-07-19 5 views
0

awk 스크립트 내에서 변수 번호 (NR)를 늘리려고하지만 구문 오류가 발생합니다.awk 내에서 expr 추가

awk '{print "dm" `expr $NR + 225` "," $0}' test 

여기서 test는 수많은 레코드가있는 텍스트 파일입니다.

누군가가 올바른 구문으로 나를 도울 수 있다면 고맙겠습니다!

+1

그러나 AWK는 추가 할 수 있습니다. 'awk '{print "dm"NR + 225 ","$ 0} "테스트의 문제점은 무엇입니까? – kojiro

답변

1

왜 이렇게해야하는지 알 수 없습니다. 방법에 대해 : 당신의 코드로도

awk '{print "dm" NR+255","$0}' test 

$NR 잘못이었다.

잘 경우 귀하의 질문에 대답

은 직선, 당신의 AWK 라인과 같이 작성해야합니다 :

awk '{"expr "NR" + 225"|getline n; print "dm" n ","$0}' test 
+1

틈새 쉼표가 필요하지 않습니다. 그들은 단지 OP가 반드시 원하지 않는 공간을 삽입합니다. – kojiro

+0

켄트, 완벽하게 작동했습니다. 내가하는 것처럼 훨씬 간단하고 우아했습니다! – Girish

+0

@kojiro 오, 그래, 나는 그것을 알아 차리지 못했다. 나는 그것을 고치려고 노력할 것이다. 고마워 – Kent