아래 코드를 사용하여 100
파일의 각 줄에 값을 추가하고 있습니다. 이 코드를 터미널에서 실행하면 정상적으로 실행되지만 코드를 .awk 파일에 저장하고 실행하면 오류가 발생합니다. 터미널 대신 스크립트 파일에서 이 코드를 어떻게 실행할 수 있나요?
code: awk -F ';' '{if ($2==NULL) print $0"100"}' example.txt
내.awk
awk -F ';' '{if ($2==NULL) print $0"100"}'
터미널의 명령
awk -f my.awk example.txt
실수
invalid char ''' in expression. I get this error at ';'
이 오류를 수정하고 example.txt에서 awk 파일을 실행하려면 어떻게 해야 합니까?
답변1
awk
실행 스크립트를 사용할 때 awk -f
스크립트는 다음과 같아야 합니다.오직코드가 포함되어 있습니다 awk
.
당신의 경우에는
{if ($2==NULL) print $0"100"}
또는
$2 == NULL { print $0 "100" }
다음 명령으로 실행할 수 있습니다.
awk -F ';' -f my.awk example.txt
FS
이를 스크립트에서 설정하려면 ;
(명령줄에서 사용하지 않고 정적으로 -F
) BEGIN
블록에서 다음을 수행하십시오.
BEGIN { FS = ";" }
$2 == NULL { print $0 "100" }
또한 이 변수는 NULL
코드에 설정되어 있지 않습니다.