awk buildin IO 메소드
글쓴이: yahu77 / 작성시간: 목, 2009/11/12 - 9:39오전
안녕하세요...
쉘 고수분께 여쭤봅니다.
awk를 이용해서 쉘 프로그램을 구현 중이며, linux에서 작업을 하여 정상
동작하는 걸 확인하고 solaris에 이관하고 있습니다만,
awk 내부의 빌트인 메소드(getline)에서 오류가 발생하고 있는데여...
linux와의 차이점은 bash 버전이 틀린 것 같습니다.
정확히 bash 버전 문제인 것인지 아니면 awk 버전 문제인건지 알 수가 없네요...
아래코드(예시)가 작동을 안하다면 awk 내부의 IO를 어떻게 구현 할 수 있을까요?
echo "128.0.0.0;YYYY;MM;DD" | awk '{
while ((getline line < "filename") > 0) ----> 에러발생 부분
>> 로직구현
close("filename")
}' > xx.log
일단 awk 내부에서 IO가 안될 꺼라는 생각은 하지 않고 있기 때문에 bash를 설치한다든가
하는 작업은 피하고 싶어서 말이죠...
Forums:
solaris에 설치된 awk가
solaris에 설치된 awk가 GNU awk가 맞는지 확인해보세요.
GNU awk를 설치했다고 하더라도 경로가 잘못 지정되어서
GNU awk가 아닌 awk가 실행될 가능성도 있습니다.
감사합니다. 개발완료 했네요...^^;
알고보니 솔라리스에는 기본적으로는 구버전의 awk가 설치되어있었네요...
GNU awk와 호환되는 nawk라고 솔라리스에 있는 util을 이용하니 제대로 동작합니다.
감사합니다.
댓글 달기