문제

"어크:함수 systime이 정의되지 않았습니다."

하지만 systime은 내장 명령입니다

도움이 되었습니까?

해결책

솔라리스에서는 /usr/bin/awk 기본적으로 링크는 다음과 같습니다. /usr/bin/oawk, 인식하지 못하는 systime 내장(또는 7판 AWK에 대한 다른 많은 확장)으로 제공됩니다.다시 연결하거나 /usr/bin/awk 에게 /usr/bin/nawk 또는 사용 nawk 직접 또는 GNU Awk(gawk)를 설치하고 사용하세요.

HP-UX, AIX와 같은 다른 Unix 시스템에도 비슷한 문제가 있을 수 있습니다.MacOS X(및 추론에 따르면 BSD)는 GNU가 아닌 확장되지 않은 버전을 설치합니다. awk (수정해 주셔서 감사합니다, DMcKee).리눅스는 그렇지 않습니다.GNU Awk를 기본/전용으로 사용합니다. awk.물론 GNU Awk는 이들 시스템 중 어느 곳에나 쉽게 설치할 수 있습니다.

다른 팁

어색한 "맛"의 문제인 것 같습니다.

gawk (gnu awk)는 systime ()을 포함하지만, 당신이 사용하는 버전은 그렇지 않을 것입니다 ...

Systime Call이 AWK 스크립트 자체 내에서 시간 차이를 추적하기위한 것이 아니라면 AWK Systime () 함수의 부족을 우회하는 트릭은이 시스템 변수의 값을 AWK 명령 줄의 변수로 전달하는 것입니다.

예를 들어, 내 시스템 모두에서 gawk 그리고 mawk 설치됩니다.

echo |mawk '{print systime()}'

생산 :

mawk: line 2: function systime never defined

동안

echo |gawk '{print systime()}'

생산 :

1252953754

타임 스탬프를 얻기 위해 한 일은 다음과 같습니다.

nawk '{system("date +%Y-%m-%d %H:%M:%S|tr -d \"\n\"");print" " $0 } '
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top