Как проверить соответствие шаблона в bash?

Я попытался добавить следующее:

ВАРИАНТ 1

sudo apt-get -y remove icedtea-7-plugin:i386 icedtea-netx:i386
sudo apt-get -y install openjdk-8-jre:i386 libxmu6:i386 icedtea-8-plugin firefox
sudo update-alternatives --set mozilla-javaplugin.so /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so

ВАРИАНТ 1

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get upgrade

И теперь я может открыть WebEx просто отлично, но я не могу использовать аудио вариант, и я не вижу, что другие делятся, знает ли кто-нибудь, может ли это быть исправлено в Ubuntu 16.04?

2
задан 12 January 2018 в 08:47

4 ответа

Попробуйте это:

echo $value | grep -c "^AB[CD]"

Это вернет 1, если шаблон присутствует в начале.

2
ответ дан 17 July 2018 в 23:17

Использование case

Чтобы проверить, начинается ли переменная оболочки с ABC или ABD, традиционным (и очень переносимым) методом является использование case case:

case "$value" in AB[CD]*) echo yes;; *) echo no;; esac

Поскольку это не требует внешних процессов, оно должно быть быстрым.

Использование [

В качестве альтернативы можно использовать тестовую команду:

if [ "${value#AB[CD]}" != "$value" ] then echo yes else echo no fi

Использование [[

Наконец, можно использовать более современную и менее портативную команду test :

if [[ $value == AB[CD]* ]] then echo yes else echo no fi

Чтение файла и тестирование всего за один шаг

Для чтения первой непустой строки файла и проверки, если его первое поле начинается с ABC или ABD:

awk 'NF{if ($1~/^AB[CD]/) print "yes"; else print "no";exit}' file
6
ответ дан 17 July 2018 в 23:17

Попробуйте это:

echo $value | grep -c "^AB[CD]"

Это вернет 1, если шаблон присутствует в начале.

2
ответ дан 24 July 2018 в 13:48

Использование case

Чтобы проверить, начинается ли переменная оболочки с ABC или ABD, традиционным (и очень переносимым) методом является использование case case:

case "$value" in AB[CD]*) echo yes;; *) echo no;; esac

Поскольку это не требует внешних процессов, оно должно быть быстрым.

Использование [

В качестве альтернативы можно использовать тестовую команду:

if [ "${value#AB[CD]}" != "$value" ] then echo yes else echo no fi

Использование [[

Наконец, можно использовать более современную и менее портативную команду test :

if [[ $value == AB[CD]* ]] then echo yes else echo no fi

Чтение файла и тестирование всего за один шаг

Для чтения первой непустой строки файла и проверки, если его первое поле начинается с ABC или ABD:

awk 'NF{if ($1~/^AB[CD]/) print "yes"; else print "no";exit}' file
6
ответ дан 24 July 2018 в 13:48

Другие вопросы по тегам:

Похожие вопросы: