2016-04-12 10 views
-2

シェルスクリプトの出力に関する問題に直面しました。ここで私は、出力 が "INSERT INTO UserRating(著、コメント、日付、全体的に、バリュー、部屋、場所、清潔さ、チェックイン、サービス、商務)" >> hotelreviews.sqlをエコーすることができ、コードシェルスクリプトの結果をファイルに出力

read_each_user_rating(){ 
TOTAL_RATING_NUMBER="$(grep -c '<Author>' $1)" #Find how many rating in each file 
ALL_AUTHOR="$(grep '<Author>' $1 | sed -e 's/<Author>//'| tr -d '\r')" 
ALL_COMMENT="$(grep '<Content>' $1 | sed -e 's/<Content>//'| tr -d '\r')" 
ALL_DATE="$(grep '<Date>' $1 | sed -e 's/<Date>//'| tr -d '\r')" 
ALL_RATING_FILE="$(grep '<Overall>' $1 | sed -e 's/<Overall>//'| tr -d '\r')" 
ALL_VALUE="$(grep '<Value>' $1 | sed -e 's/<Value>//'| tr -d '\r')" 
ALL_ROOMS="$(grep '<Rooms>' $1 | sed -e 's/<Rooms>//'| tr -d '\r')" 
ALL_LOCATION="$(grep '<Location>' $1 | sed -e 's/<Location>//'| tr -d '\r')" 
ALL_CLEANLINESS="$(grep '<Cleanliness>' $1 | sed -e 's/<Cleanliness>//'| tr -d '\r')" 
ALL_CHECKIN="$(grep '<Check in/front desk>' $1 | sed -e 's/<Check in/front desk>//'| tr -d '\r')" 
ALL_SERVICE="$(grep '<Service>' $1 | sed -e 's/<Service>//'| tr -d '\r')" 
ALL_BUSSINESS="$(grep '<Bussiness service>' $1 | sed -e 's/<Bussiness service>//'| tr -d '\r')" 
for ((COUNTER_A=1;COUNTER_A<=$TOTAL_RATING_NUMBER;COUNTER_A++)) 
do 
echo "INSERT INTO UserRating (Author,Comment,Date,Overall,Value,Rooms,Locations,Cleanliness,Checkin,Service,Bussiness)" >> hotelreviews.sql 
echo $($ALL_AUTHOR | sed "${COUNTER_A}q;d") >> hotelreviews.sql 
done 
} 
read_each_user_rating $1 

ですファイル。しかし、なぜ私は "echo $($ ALL_AUTHOR | sed" $ {COUNTER_A} q; d ")>> hotelreviews.sql"ファイルを出力することができますか?

+0

を、あなたは何を期待していますか?実際に何が起こるのですか?私はあなたの '$ 'のうちのいくつかを逃れる必要があると推測しています。 – John3136

+0

'grep |各行の 'sed'部分は' sed -n -e 's/ // p''に置き換えることができます。これは、置換が行える行だけを出力します。 – Wildcard

答えて

0
echo $($ALL_AUTHOR | sed "${COUNTER_A}q;d") >> hotelreviews.sql 

が不正です。 $()の中の式は有効なコマンドでなければなりません(そのうちの$ALL_AUTHORはほぼ確実です)。 $()内部

echo "$ALL_AUTHOR" | sed "${COUNTER_A}q;d" 

もっとそう、あなたはこのような何かが必要。あなたは、単に行うことができますこの場合には

は、しかし、それはすべてのでサブコマンドを呼び出すためにほぼ確実に必要はありません。

echo "$ALL_AUTHOR" | sed "${COUNTER_A}q;d" >>hotelreviews.sql 
関連する問題