grep 忽略文件中的特殊字符

grep 忽略文件中的特殊字符

我有一个java文件,我想列出该单词出现的次数port。但唯一的问题是我有很多函数也有工作端口。

这是一个函数的示例:

public void portNum(){
  System.out.println("Your port number is ports port");
  port();
  //Reading your Port number
  readPortNumber();
}

我只想获取那些具有port或端口在"".

输出将是:

System.out.println("Your port number is ports port");
//Reading your Port number

到目前为止我已经

grep -i 'port'

答案1

如果您想要不包含函数声明的行(正如您在评论中所说):

$ grep -iwP 'port(?!\(.*\))' file.txt
  System.out.println("Your port number is ports port");
  //Reading your port number

答案2

这个怎么样?

netikras $ echo "$a"

sdff sd dfgdfg
"sjdkgv ojes port" asdsd


netikras $ echo "$a" |egrep -c "\".*port.*\""
1

netikras $ echo "$a" |egrep -c "\".*port.*\"|'.*port.*'"
1

相关内容