에서 '시스템'명령의 출력을 얻을 필드가 20141028 20:49:49
같은 타임 스탬프입니다 방법을, 나는 시간 20
을 얻고 싶은, 그래서 system
명령을 사용합니다내가 파일이 AWK
hour=system("date -d\""$5"\" +'%H'")
을
타임 스탬프는 내 파일의 다섯 번째 필드이므로 $5
을 사용했습니다. 그러나 프로그램을 실행할 때 위의 명령을 찾았을 때 20
을 출력하고 hour is 0 but not 20
을 반환하므로 제 질문은 시간 소인에서 시간을 얻는 방법입니다.
나는 split
기능이 같은 두 번 사용하는 방법을 알고 :
split($5, vec, " ")
split(vec[2], vec2, ":")
을하지만이 방법은 조금 비효율적이고 추악한입니다.
다른 해결책이 있습니까? 감사합니다
가능한 복제본 [그녀에게 전화 ll 명령을 awk 내부에서 실행하고 awk 변수를 쉘 명령에 전달하십시오.] (http://stackoverflow.com/questions/20646819/call-a-shell-command-from-inside-awk-and-pass-some-awk- 변수 - 투 - 쉘 - 공동) –
특히, [이 답변] (https://stackoverflow.com/questions/20646819/call-a-shell-command-from-inside-awk-and-pass-some- awk-variables-to-the-shell-co/20648953 # 20648953). –
@ nu11p01n73R 내 실수, 이미 고침 감사합니다 – ningyuwhut