나는앗Bash 스크립트의 명령입니다. 파일 경로를 bash 스크립트에 매개변수로 전달하고 있는데 매개변수가 다음 위치에 있습니다.앗주문하다.
내 배쉬 파일mybash.sh암호:
#!/bin/bash
file="$1"
echo $file
awk 'BEGIN{FS=OFS=","} NF!=5{print "not enough fields"; exit} NR == 1 && ($1 != "nasme" || $2 != "designation" || $3 != "email" || $4 != "phone" || $5 != "group") {print "Wrong file headers"; exit}' $file
bash 파일을 실행하면:
배쉬 mybash.sh /home/file_path.csv
내 스크립트가 인쇄됩니다.$파일내가 길을 제시했지만 내앗명령이 이 내용을 읽지 못했습니다.$파일, 인쇄되기 때문에핵인자항상 0입니다. 그러나 위의 awk 명령은 터미널에서 직접 잘 작동합니다.
awk 'BEGIN{FS=OFS=","} NF!=5{print "not enough fields"; exit} NR == 1 && ($1 != "name" || $2 != "designation" || $3 != "email" || $4 != "phone" || $5 != "grsoup") {print "Wrong file headers"; exit}' /home/file_path.csv
답변1
나는 다음을 수행할 것입니다:
file="$1"
cat $file | awk 'BEGIN{FS=OFS=","} NF!=5{print "not enough fields"; exit} NR == 1 && ($1 != "nasme" || $2 != "designation" || $3 != "email" || $4 != "phone" || $5 != "group") {print "Wrong file headers"; exit}' > someoutputfile