2つのコマンドライン引数を使用するスクリプトがあります。Bashスクリプトがコマンドライン引数を正しく処理しない
echo "cat meta.results.out | parseTable.pl --col VARIANTID,P_SQRTN,P_FIXED,P_RANDOM | awk ' $2 == 0 || $3 == 0 || $4 == 0 { print $1, $2, $3, $4 } ' > meta.results.needs_p_fixing.out" > meta.p_corrector.sh
そして、それは、それが生成する、私が欲しいものを生産されていません:
cat meta.results.out | parseTable.pl --col VARIANTID,P_SQRTN,P_FIXED,P_RANDOM | awk ' metagwastoolkit.files.model1.list == 0 || == 0 || == 0 { print metagwastoolkit.model1.conf,metagwastoolkit.files.model1.list,, }' > meta.results.needs_p_fixing.out
だから、私はこれを行うスクリプトの後半で
./metagwastoolkit.run.sh metagwastoolkit.model1.conf metagwastoolkit.files.model1.list
私の設定ファイルを$ 1、my files.listを$ 2 ...としています。これは明らかにwではありません帽子私が欲しい...フィールド2,3、または4が0に等しい場合、パイプから列1から4を印刷することが期待されます。
これを変更するにはどうすればよいですか?
ベスト、
サンダー
?変数の上書き/置換の問題であれば、 'source $ {1}'は現在のスクリプトの変数名をその時点のソースファイルの値で上書きすることができると思われますが、引数の競合の方法に従っていません'$ 1'と' $ 2'はあなたが望むものを含んでいませんか? –
私が読んだとき、あなたの 'awk '** $ 2 == 0 || $ 3 == 0 || $ 4 == 0 {プリント$ 1、$ 2、$ 3、$ 4 **} 'はあなたが思っていることをしているようには見えません。 'awk'構文を再度確認してください。 –
私はその質問を理解していません。スクリプトのどこでも 'CONFIGURATIONFILE'や' GWASFILE'を使うことはありません。 – Barmar