私アッ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ファイルを実行すると:
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