Bashスクリプトの条件がある場合

Bashスクリプトの条件がある場合

テキストファイルがありますが、以下の特定の行を確認したいと思います。

com1=`awk 'NF{a=b;b=$0} END{print (b ~ /\com/)? "Yes" : "No"}' $myfile`
com2=`awk 'NF{a=b;b=$0} END{print (b ~ /\t/)? "Yes" : "No"}' $myfile`
com3=`awk 'NF{a=b;b=$0} END{print (a ~ /\t/)? "Yes" : "No"}' $myfile`
echo "$com1 --- $comp2 --- $comp3"
if [[ $comp1="Yes" ]] && [[ $comp3="No" ]]; then
    echo "condition1"
fi
if [[ $comp1="Yes" ]] && [[ $comp3="Yes" ]]; then
    echo "condition2" 
fi
if [[ $comp2="Yes" ]]; then
    echo "condition3"
fi

私のファイルは次のとおりです

1.1.m
1.2.t

com

出力は「

Yes --- No --- No
condition1
condition2
condition3

2つの質問があります。まず、テキストファイル(1.2.t)の最後の行の前の空でない行に「t」が含まれていることを確認したいと思います。したがって、0f $com3の答えは「はい」でなければなりませんが、私の出力では「いいえ」です。最も重要な問題は、「if条件」のどれも機能しないことです。

ベストアンサー1

[[ $comp1 = "Yes" ]] && [[ $comp3 = "No" ]]

おすすめ記事