如何在忽略空格的情况下搜索 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
我有以下参数需要检查它是否在文件中可用。
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