Bashスクリプトからパラメータを読み取り、それをawkコマンドに渡す[閉じる]

Bashスクリプトからパラメータを読み取り、それをawkコマンドに渡す[閉じる]

アッ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

おすすめ記事