se a condição no bash scripting

1

Eu tenho um arquivo de texto que eu quero verificar algumas linhas como abaixo

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

myfile é:

1.1.m
1.2.t

com

A saída é "

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

Eu tenho duas perguntas. em primeiro lugar: eu quero verificar a linha não em branco antes da última linha do arquivo de texto (1.2.t) que consiste em "t" ou não. então a resposta 0f $ com3 deve ser "sim", mas na minha saída é "não". e o problema mais importante é que nenhuma das "condições" funciona.

    
por user3891747 28.01.2016 / 08:53

1 resposta

0
[[ $comp1 = "Yes" ]] && [[ $comp3 = "No" ]]
    
por 28.01.2016 / 09:16

Tags