一个字我有一个CSV被读入具有短语的脚本:bash脚本来匹配使用正则表达式
This port supports SSLv3/TLSv1.0.
This port supports TLSv1.0/TLSv1.1/TLSv1.2.
This port supports TLSv1.2.
什么我希望做的是设置在字/数正则表达式的变量: TLSv1.0 然后在IF/Then语句中引用该变量。这个问题我是 得到正则表达式来看TLSv1.0。有人可以帮我 使用我的BASH脚本来查看TLSv1.0是否在以“此端口支持”开头的行中?
#!/bin/sh
REGEX="\TLSv1.0\"
cat filename.csv | awk -F"," '{gsub(/\"/,"",$4);print $5}' | sed s/\"//g |
while IFS=" " read pluginoutput
do
if [[ "$pluginoutput" =~ $REGEX ]]; then
.
. rest of my code
.
你可以看到我试图在变量中设置正则表达式,但它只是不工作。显然是一个错字或什么的。有没有人有正则表达式的建议?
谢谢,
什么与文字引号?你正在告诉shell在被搜索的字符串中寻找''''s **,但是它们显然没有出现。# –
另外,'#!/ bin/sh'是POSIX sh,而不是bash。如果你想使用bash特性,可以使用bash:'#!/ bin/bash'。 –
此外,'cat filename | awk ...'效率低于awk ...