awk 파일을 호출하려는 bash 스크립트가 있습니다.
fire.awk
awk 파일을 어떻게 호출할까요 fire.awk
? 본 적이 있지만 #!/bin/awk -f
이것이 규칙인지 확실하지 않습니다.
#!/bin/awk -f
사람들은 왜 awk 파일에 포함합니까 ?
답변1
쉘 스크립트에서 awk 스크립트를 호출하려면 두세 가지 솔루션이 있습니다.
- 쉘 스크립트 내의 awk 스크립트
문서 foo.sh
:
#! /usr/bin/env bash
awk '{print}' < input.txt > output.txt
awk 스크립트가 매우 짧은 경우 유용합니다.
큰 awk 스크립트가 있으면 줄 바꿈이 있어도 좋지 않습니다. IDE가 awk 구문을 인식할 수 없습니다.'...'
- 쉘 스크립트가 아닌 awk 스크립트
긴 awk 스크립트를 위한 더 나은 솔루션입니다.
- 실행 불가능한 awk 스크립트 사용
foo.awk
쉘에서 awk 스크립트를 호출하려면 다음 명령을 사용해야 합니다awk
. 문서foo.sh
:
#! /usr/bin/env bash
/bin/awk -f foo.awk < input.txt > output.txt
환경변수에 명령어가 있으면 생략할 수 있지만 /bin/
실제로는 안전하지 않습니다.awk
PATH
문서 foo.awk
:
{print}
정말 짧습니다. IDE는 파일 확장자의 구문만 인식합니다.
- 실행 가능한 awk 스크립트 사용
파일에 실행 가능 플래그를 추가 chmod +x foo.awk
하려면 이 명령을 사용하십시오 . 쉘에서 awk 스크립트를 호출하기 위해 이 명령을 foo.awk
사용할 필요는 없습니다 .foo.awk
awk
문서 foo.sh
:
#! /usr/bin/env bash
foo.awk < input.txt > output.txt
foo.awk
다음과 같이 환경 변수에 PATH
디렉터리를 포함하거나 접두사를 붙여야 합니다 ./my/program/directory/foo.awk ...
좋은 인터프리터를 실행하려면 awk 스크립트의 첫 번째 줄에 shebang 줄을 추가해야 합니다 foo.awk
.
#! /bin/awk -f
{print}
일부 IDE는 이 파일을 확장명이 있는 awk 파일로 인식합니다. 의심스러운 경우 첫 번째 줄을 읽어 더 나은 선택을 하십시오.