2016-09-12 21 views
0

2つのファイルの文字列比較を読み込むシェルプログラムを作成しました。bashシェル:文字列比較の変数出力の問題

文字列比較は成功しましたが、比較文字列の出力に失敗しました。

echo $ line, ${array [a]} $行出力にも入力されませんでした。

問題が可変であることを確認するため、今度は${array [a]}が出力されていないときに、手前の順序を変更しました。

2人はどのようにして同時に印刷する必要がありますか。

アドバイスお願いします。

コード:

a=0  
count=0 
while read line  
do  
    count=`expr $count + 1`   
    if [ $count -gt 6 ]   
    then      
     array[count]=$line 
    fi 
done < $FILE2 

while read line 
do 
     a=`expr $a + 1` 

       if [ $a -gt 6 ] && [ $a -le 10 ] 
       then 
         if [ "$line" != "${array[a]}" ] 
           then 
             echo $line, ${array[a]} 
         fi 
done < $FILE1 

+0

は、コードの最後の行の前に行方不明 'fi'があります...それはおそらく逃しました。..どちらの方法でも、http://www.shellcheck.net/はそのような構文エラーをキャッチし、指定されたスクリプトの改善を提案します – Sundeep

答えて

0

私は、構文エラーのカップルを修正しました。私の作品を次のとおりです。

a=0 
count=0 
while read line  
do 
    count=`expr $count + 1` 
    if [ $count -gt 6 ] 
    then 
     array[$count]=$line 
    fi 
done < $FILE2 

while read line 
do 
     a=`expr $a + 1` 

       if [ $a -gt 6 ] && [ $a -le 10 ] 
       then 
         if [ "$line" != "${array[a]}" ] 
           then 
             echo $line, ${array[a]} 
         fi 
       fi 
done < $FILE1 

array[count]に欠けfi行方不明$を修正して...

+0

"fi"が間違っています。コードが書かれています。 –

+0

聞いてよかったら、答えを受け入れるべきです。 –

関連する問題