awkおよびシェル変数と混同される

awkおよびシェル変数と混同される

awkを使用してスクリプトを実行しようとしています。エラーがないようですが、必要なファイルが生成されません。スクリプトは次のとおりです。

#!/bin/bash

echo "Number of domain:"
read number
echo "Domain name:"
read domain
more "file.txt" | awk '$2=='$domain' {print $1, "1.0"} $2!='$domain' {print $1,"-1.0"}' >"$number_domain.txt"
echo "DONE"

デフォルトでは、ドキュメントを作成し、$1をすべて保持し、$2を変更して$domainの場合は1.0を書き、そうでない場合は-1.0を書きたいと思います。

""または""とawk""と""でテキストを書く方法は混乱しています。

ベストアンサー1

行の最後の項目

more "file.txt" | awk '$2=='$domain' {print $1, "1.0"} $2!='$domain' {print $1,"-1.0"}' >"$number_domain.txt"

おそらく

>"${number}_${domain}.txt"

スクリプトが読み取った2つの変数に対応します。スクリプトで変数が空の文字列でないことを確認してください。彼らがはい空の場合、awkスクリプトにエラーが発生します。

おすすめ記事