awk 에서 외부변수 사용하는 방법있나요?

ulra의 이미지

안녕하세요.

<a.sh>

#!/bin/csh

set ABC="kkk"

awk -f awk.pg

<awk.pg>
BEGIN {
     printf("%s\n", $ABC);
}

이렇게 했는데 원하는데로 동작하지 않네요. 어떻게 해야하나요?

aero의 이미지

ulra의 이미지

죄송합니다만 저 방법대로 검색하여 해봤는데 아무것도 안찍히네요. ^^;;

사실 awk에서 쓰고 싶은 변수는 $PWD 입니다.

OTL 즐!!!! (좌절 금지!!!)

hokim의 이미지

<a.sh>

#!/bin/csh

setenv ABC="kkk"

awk -f awk.pg

<awk.pg>
BEGIN {
     printf("%s\n", ENVIRON["ABC"]);
}
mrjh76의 이미지

ulra wrote:
사실 awk에서 쓰고 싶은 변수는 $PWD 입니다.

echo "awk test" | awk '{printf "'${PWD}'\n"}'

그러니까.... 변수를.... "'${PWD}'" 로 표시하면 됩니다!!!

hokim의 이미지

mrjh wrote:

그러니까.... 변수를.... "'${PWD}'" 로 표시하면 됩니다!!!

환경변수 PWD를 awk가 받는게 아니라 셀에 의해 미리해석되는 거 아닌가요? 예를 들면 PWD가 /home/mrjh라고 하면

echo "awk test" | awk '{printf "/home/mrjh\n"}' 와 같이 되는거죠.

ulra의 이미지

그런데요. hokim분의 것을 잘 되는데,

mrjh 분의 경우에는 파일이 달라서 안되네요.

암튼 도와주셔서 감사합니다. ^^;

좋은 밤되세요.

OTL 즐!!!! (좌절 금지!!!)