Como eu verifico se existe um number.word específico em uma linha?

1

como eu tenho essas linhas no arquivo {218394 ted 'y' ted} {131241 john 'n' ted} e eu quero verificar se o seu y continua se não for n!

eu tenho esse código até agora !:

read -p "Enter your answer : " 
echo "your answer is: $answer"
if grep -q "$answer" "$sin"
then
    echo "y"
else
    echo "n"
fi

o que eu quero é controlar se dentro do arquivo 'sin' na coluna / linha específica por exemplo $ 3 é y ou n!

    
por ted 10.01.2016 / 18:37

2 respostas

1

Se a string Y , N estiver sempre na posição três, então o abaixo deve fazer isso por você. Se não, você precisará criar um regex.

[devuser@me]$ echo "218394 ted 'y' ted" | awk '{print $3}'
'y'
[devuser@me]$ echo "218394 ted 'n' ted" | awk '{print $3}'
'n'
    
por 10.01.2016 / 20:27
1

com cut :

if [[ $(cut -d ' ' -f 3) == 'y' ]]; then
  ...
else
  ...
fi
    
por 11.01.2016 / 00:31