bash如果存在特定字符

时间:2012-12-05 11:49:32

标签: bash

我正在创建一个脚本来自动分区硬盘。

现在我遇到以下问题:

我需要检查一下“。”存在于文本文件中。 (所以只是点)。 实现这一目标的最佳方法是什么?。

示例:

hdhelft=`cat /sometextfile`
if grep "." $hdhelft    
then    
hdhelf2=something    
fi    

2 个答案:

答案 0 :(得分:1)

无需将文件读入变量,除非这是您真正想要的。你的代码并不完全清楚你想要什么,但这是我的解释。使用-F标记grep来解释它。作为文字和-q所以它不提供任何输出(只是是或否)。另外,如果您真的希望$hdhelft包含文件内容,请使用$(<filename)来获取该内容。

hdhelft=$(</sometextfile)
if grep -qF '.' /sometextfile; then
    hdhelf2=something
fi

答案 1 :(得分:1)

你需要转义.字符,因为grep将其解释为“任何字符”。所以使用:

grep '\.' yourfile