C 쉘 스크립트에서 bbb를 awk sub로 전달하려고 하는데 작동하지 않는 것 같습니다.
#!/bin/csh
set aaa=a
set bbb=b
#And I'm using it in awk sub
set ccc=`echo $aaa | awk '{sub("a",$bbb); print $0}'`
echo $ccc
하지만 메아리는 공허했고, 이유는 모르겠습니다.
$bbb를 "b"로 바꾸면 제대로 작동합니다.
답변1
셸 변수를 에 전달해야 합니다 awk
.
set ccc=`echo $aaa | awk -v bb=$bbb '{sub("a",bb); print $0}'`
awk
쉘 변수를 참조할 때 참조를 닫았다가 다시 엽니다.
set ccc=`echo $aaa | awk '{sub("a",'$bbb'); print $0}'`