如何检查一行中是否存在特定的 number.word?

如何检查一行中是否存在特定的 number.word?

就像我在文件 {218394 ted 'y' ted} {131241 john 'n' ted} 上有这行,我想检查它的 y 是否继续,如果它的 n 不继续!

到目前为止我有这个代码!:

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

我想要的是控制特定列/行中的“sin”文件内是否为 y 或 n!

答案1

如果字符串Y , N总是位于第 3 位,那么下面的代码应该可以为您完成。如果没有,您将需要构建一个正则表达式。

[devuser@me]$ echo "218394 ted 'y' ted" | awk '{print $3}'
'y'
[devuser@me]$ echo "218394 ted 'n' ted" | awk '{print $3}'
'n'

答案2

cut

if [[ $(cut -d ' ' -f 3) == 'y' ]]; then
  ...
else
  ...
fi

相关内容