GNU awk 매뉴얼nextfile
내용은 다음과 같습니다.
노트:이것은 수년간
nextfile
일반적인 확장이었습니다 . 2012년 9월 POSIX 표준에 통합되었습니다. 바라보다오스틴 그룹 웹사이트.
비슷하게,모의 매뉴얼설명하다:
Nextfile은 표준의 다음 개정판에서는 승인되었지만 아직 POSIX 표준(2012년 10월 기준)의 일부가 아닌 gawk 확장(BWK awk에서도 구현됨)입니다.
nextfile
헷갈리는 점은 언급이 없다 .최신 POSIX 사양, 2018년부터.
Austin Group의 링크를 따라가면 이 문제가 2012년에 해결되었지만(최종 승인된 텍스트도 있음) 2020년에만 적용되었음을 알 수 있습니다(!).
전체적으로 이것은 nextfile
awk의 기능이 POSIX에 의해 지정된다는 의미입니까? 아니면 향후 POSIX 버전에서만 적용됩니까?
(실용적인 목적을 위해 nextfile
다음과 같이 할 수도 있습니다.BSDawk.)
다른 두 진술도 같은 상황에 있습니다 nextfile
.fflush
그리고delete
( delete
이미 지정되었지만 전체 배열을 삭제할 수 있도록 확장되었습니다.)
답변1
너는 보게 될 것이다오류 607아직 출시되지 않은 이슈 8을 타겟팅합니다(참조이슈 8 상표).
Issue 7은 2008년에 출시되었습니다. Issue 7의 최신 버전이 몇 가지 있으며 최신 버전은 2018이지만 이는 기술적인 정오표이며 새로운 기능을 제공하지 않습니다.
nextfile
새로운 기능일 뿐만 아니라 awk '{nextfile = 1}'
현재 POSIX 버전에서 변수 값을 각각 설정하고 검색하는 유효한 호출이므로 이전 버전과의 호환성도 손상시키므로 awk '{nextfile}'
기술적인 정오표의 일부로 추가되지 않을 수 있습니다.awk
nextfile
TC에 추가할 수 있는(아마도 추가해야 하는) 것은 사람들에게 이것이 nextfile
나중에 사용하기 위해 예약된 단어임을 알려주는 것입니다. 따라서 사람들은 스크립트에서처럼 변수나 함수 이름에 이 단어를 사용해서는 안 됩니다. awk '{nextfile = 1}'
이는 완전히 표준이지만, 않습니다. 이는 많은 구현에서 작동하지 않습니다 awk
(BTW에 국한되지 않음 nextfile
).
awk
다음 사이트에서 단일 UNIX 사양 2018년판 7호 일부의 HTML 버전을 볼 수 있습니다.https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/utilities/awk.html(해당 부분에 주의하세요 .2018edition
) 그러나 Opengroup에서 게시하더라도 HTML 버전에는 표준 값이 없고 PDF에만 표준 값이 있다는 점에 유의하세요(액세스하려면 등록해야 함).
그들은의미는마찬가지로 과거에는 HTML로 변환할 때 일부 오류가 발생하여 일부가 손실되는 경우가 있었습니다(비록 일반적으로 발견되면 신속하게 수정되었지만). 의심스러울 때는 PDF를 확인하는 것이 가장 좋습니다.
답변2
POSIX 표준화는 두 가지 별개의 노력으로 볼 수 있습니다.
인터페이스에 영향을 주지 않는 버그 수정은 소위 기술 정오표로 게시됩니다. 현재 Issue 7 표준은 기본적으로 2008년부터이고, 2018년 버전은 TC2입니다.
인터페이스에 영향을 미치는 새로운 기능. 이를 위해서는 표준의 새로운 주요 버전이 필요합니다.
특정 이유로 인해 awk 문제가 표시되면 Issue 8
현재 표준 버전 8을 마무리하는 작업 중이며 2021년에 준비될 예정입니다.