1

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

现在我遇到了以下问题:

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

例子:

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

2 回答 2

1

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

hdhelft=$(</sometextfile)
if grep -qF '.' /sometextfile; then
    hdhelf2=something
fi
于 2012-12-05T11:51:59.290 回答
1

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

grep '\.' yourfile
于 2012-12-05T11:58:09.283 回答