Кроме grep
вы можете попробовать использоватьsed
:
sed 's/\([0-9]*\.\)\{3,3\}.*$//'
При вводе сecho
:
echo "sgdgfhfh-ZZZZZZ-ZZZ-2.0.12.ZZ" | sed 's/\([0-9]*\.\)\{3,3\}.*$//'
В сценарии bash:
Сначала создайте файл:
nano script.sh
Добавить следующий код в скрипт:
#!/bin/bash
echo "$1" | sed 's/\([0-9]*\.\)\{3,3\}.*$//'
Сохраните и выйдите. Добавить разрешение на выполнение:
chmod u+x script.sh
Запустите script.sh
с входным параметром($1
внутри скрипта)
./script.sh "sgdgfhfh-ZZZZZZ-ZZZ-2.0.12.ZZ"
Вывод будет:
sgdgfhfh-ZZZZZZ-ZZZ-
Объяснение шаблона Sed:
's/pattern/replace_string/'
-заменить шаблон. Найдите pattern
и замените его наreplace_string
\([0-9]*\.\)\{3,3\}
-найти \([0-9]*\.\)\
шаблон, который повторяется три раза(\{3,3\})
\([0-9]*\.\)\
будет соответствовать 0.
, 12.
, 2345345345.
и .
Похоже, у вас отсутствуют некоторые зависимости, которые не позволяют dpkg выполнить ваш запрос. Я рекомендую запустить команду sudo apt-get -f install
и проверить, что она предлагает, чтобы решить проблему. Если вы согласны с предложенными изменениями, нажмите Y и дайте ему запуститься.