我如何在linux中搜索单词中的一些字母?

时间:2013-10-16 12:20:37

标签: linux bash shell

在shell run.sh中我有

find . -name "*.txt" -exec grep -H SNR {} \; | grep "$1" > result.txt
if[ "$1" -eq "offs0.5"] 
 then 
 fi

如果我输入:run.sh offs0.5

此错误:

  

[:offs0.5:预期的整数表达式

1 个答案:

答案 0 :(得分:0)

要进行字符串比较,您需要使用以下内容:

[ "$1" == "offs0.5" ] 

请注意,当您比较字符串时,eq的表达式正在寻找算术比较。

另外,在你的表达中你有

if[ "$1" -eq "offs0.5"] 
          ^^^        ^ needed space
          no eq on string comparison

测试

$ d="offs0.5"
$ 
$ [ "$d" == "offs0.5" ] && echo "yes"
yes

$ d="offs0.5aa"
$ [ "$d" == "offs0.5" ] && echo "yes"