如何在忽略空格的情况下搜索 shell 中出现的字符串

how to search for an occurrence of string in shell ignoring spaces

我有以下参数需要检查它是否在文件中可用。

PARAMS='SQLNET.INBOUND_CONNECT_TIMEOUT>=45'

如果在 file.Also 中可用,我如何检查文件中是否出现上面列出的参数,以便计数为 1,注意在 file.Also 之前和之后可以有空格'>='.

我有以下代码:

PARAM_COUNT=`cat file_name | tr -d "[:blank:]"  |awk ' ~ /^[^;#]/' | grep -i ${PARAM} | wc -l`

请建议修改是什么necessary.Thanks。

  • 不需要 awk,因为 grep 会执行 reg exp
  • 不需要wc -l因为grep也可以计数
cat input | tr -d '[:blank:]' | grep -c "^PARAMS='SQLNET.INBOUND_CONNECT_TIMEOUT>=45'"

请注意 ^ 表示文本应位于行首。

或者:

grep -c "^[[:blank:]]*PARAMS='SQLNET.INBOUND_CONNECT_TIMEOUT[[:blank:]]*>=[[:blank:]]*
45'" input