У меня есть CSV считывания в сценарий, который имеет фразы:BASH скрипт, чтобы соответствовать слову с помощью Regex
This port supports SSLv3/TLSv1.0.
This port supports TLSv1.0/TLSv1.1/TLSv1.2.
This port supports TLSv1.2.
Что я ищу сделать, это настроить переменную REGEX на слово/номере: 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
.
Вы можете видеть, что я пытаюсь установить регулярное выражение в переменной, но она просто не работает. Очевидно, опечатка или что-то в этом роде. Есть ли у кого-нибудь предложение регулярного выражения?
Спасибо,
Что такое с буквальными цитатами? Вы говорите оболочке искать '' 's ** внутри ** искомую строку, но они явно не отображаются. –
Кроме того,' #!/Bin/sh' - это POSIX sh, а не bash. Если вы хотите использовать bash, используйте bash: '#!/Bin/bash'. –
Кроме того,' cat filename | awk ... 'менее эффективно, чем' awk ...