一個字我有一個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 ...