我可以检查文件中是否存在数字?

时间:2016-01-10 16:24:30

标签: bash shell

我到现在为止这样:

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

如果我想检查文件sin中是否存在codenumber(作为第一个单词$ 1)该怎么办?

1 个答案:

答案 0 :(得分:3)

我认为你刚刚写了一个错字:

grep -q "$codenumber" "$sin"

但请注意,这不包括codenumber属于另一个的情况。如果每个codenumber都在一个单独的行上;考虑使用:

grep -q "^$codenumber$" "$sin"

,其中

  • ^ =行开头
  • $ =行尾

编辑:回答其他问题:假设该文件包含以下行:

218394 ted y ted
131241 john n ted

以下是如何从符合$ codenumber的行中获取第3列:

awk "/^$codenumber /{ print \$3 }" "$sin"