GNU awk 4.2 was released 그리고 많은 흥미로운 기능이 포함되어 있습니다. 그 중 하나는 다음과 같습니다GNU Awk 4.2에서 FIELDWIDTHS를 사용하여 문자를 어떻게 건너 뛸 수 있습니까?
구문을 분석
- FIELDWIDTHS이 필드를 시작하기 전에 건너 뛸 얼마나 많은 문자를 지정 할 수 있도록 향상되었습니다. 또한 "나머지 레코드"를 의미하는 마지막 문자로 '*'를 지정할 수 있습니다. FIELDWIDTHS를 사용한 필드 분할은 이제 NF를 올바르게 설정합니다. 매뉴얼에있는 FIELDWIDTHS에 대한 문서는 상당히 재구성되고 개선되었습니다.
내가 *
거시기를 테스트 $NF
에 마지막 블록을 잡으려고 좋은 작품 :
# "*" catches in $NF from the 2+2+1=5th character and until the end
$ awk 'BEGIN {FIELDWIDTHS="2 2 *"} {print $NF}' <<< "1234567890"
567890
을하지만, 나는 또한 설명하는 기능의 첫 번째 부분을 사용하는 방법을 볼 수 없습니다 GNU Awk's Users Guide → A.6 History of gawk Features → Version 4.2 of gawk introduced the following changes에서 :
FIELDWIDTHS 필드에 값을 할당하기 전에 문자를 생략 할 수 있도록 향상되었다 (참조 10).
연결된 섹션에서도 예제를 찾을 수 없습니다. 따라서이 기능이 정확히 무엇이고 어떻게 작동합니까?