${name}
쉘 스크립트에는 변수 이름을 명시적으로 지정하고 이를 주변 텍스트와 구분하는 구조가 있습니다 .
에서는 awk
이를 사용하여 다섯 번째 필드를 참조하거나 $5
변수 N이 가리키는 N번째 필드를 참조하는 데 사용할 수 있습니다 $N
.
N+1번째 필드를 참조하려면 어떻게 해야 합니까? 을 사용하면 $N+1
N번째 필드의 내용에 1을 더한 값을 얻게 되는데 이는 내가 원하는 것이 아닙니다.
temp = N+1
다른 변수를 설정 한 후 참조 할 수도 있지만 $temp
"N번째 더하기 1" 필드를 한 번에 지정할 수 있는 방법은 없나요?
아니면 N의 N번째 필드를 반환하는 함수를 참조할 수 있나요?
답변1
숫자를 괄호로 묶으세요.
$ echo 1 3 5 7 | awk '{print $(1+3)}'
7
일부 함수를 사용하여 필드 번호를 계산하려면 대괄호가 전혀 필요하지 않습니다.
$ echo 1 3 5 7 | awk '{print $sqrt(16)}'
7
(물론 아프지 않으니 그것도 $(sqrt(16))
효과가 있다)