Хорошо, я исправился. Мне пришлось вручную удалить пакет, а затем принудительно удалить dpkg. Впоследствии я установил его из git-core, и это отлично работало. Чтобы вручную удалить пакет, я пошел в
/var/cache/apt/archives
и удалил файл git_1%3a1.7.4.1-3_i386.deb. После этого я пошел в
/var/lib/dpkg/info
И сделал ls | grep git и удалил все, что появилось. Впоследствии я запустил
sudo dpkg --remove --force-remove-reinstreq git
, чтобы очистить dpkg пакета. Как только это было сделано, мне удалось установить git из git-core вместо пакета git, и он работал нормально.
Поскольку ошибка, отсутствующая в завершении] для символьного класса, уже говорит, проблема здесь связана с [, которую вам нужно избежать. В противном случае это понимается как класс символов grep.
Кроме того, вы говорите //, в то время как вы хотите использовать / вместо \ в соответствии с вашим вводом.
Все вместе, это печатает набор слов после [Om/:
$ echo '[Om/mystring' | \grep -oP '(?<=\[Om\/)\w+'
mystring
Поскольку ошибка, отсутствующая в завершении] для символьного класса, уже говорит, проблема здесь связана с [, которую вам нужно избежать. В противном случае это понимается как класс символов grep.
Кроме того, вы говорите //, в то время как вы хотите использовать / вместо \ в соответствии с вашим вводом.
Все вместе, это печатает набор слов после [Om/:
$ echo '[Om/mystring' | \grep -oP '(?<=\[Om\/)\w+'
mystring
Поскольку ошибка, отсутствующая в завершении] для символьного класса, уже говорит, проблема здесь связана с [, которую вам нужно избежать. В противном случае это понимается как класс символов grep.
Кроме того, вы говорите //, в то время как вы хотите использовать / вместо \ в соответствии с вашим вводом.
Все вместе, это печатает набор слов после [Om/:
$ echo '[Om/mystring' | \grep -oP '(?<=\[Om\/)\w+'
mystring
Вы получаете ошибку, потому что [ является специальным символом в синтаксисе регулярных выражений, представляя класс символов. Чтобы быть обработанным как строковый литерал, он должен быть экранирован, т. Е. [F3]
Если вы просто хотите удалить префикс [Om/, то это будет проще, если вы используете разделитель, который не отображается в шаблон:
$ echo '[Om/mystring' | sed 's;\[Om/;;'
mystring
Вы получаете ошибку, потому что [ является специальным символом в синтаксисе регулярных выражений, представляя класс символов. Чтобы быть обработанным как строковый литерал, он должен быть экранирован, т. Е. [F3]
Если вы просто хотите удалить префикс [Om/, то это будет проще, если вы используете разделитель, который не отображается в шаблон:
$ echo '[Om/mystring' | sed 's;\[Om/;;'
mystring
Вы получаете ошибку, потому что [ является специальным символом в синтаксисе регулярных выражений, представляя класс символов. Чтобы быть обработанным как строковый литерал, он должен быть экранирован, т. Е. [F3]
Если вы просто хотите удалить префикс [Om/, то это будет проще, если вы используете разделитель, который не отображается в шаблон:
$ echo '[Om/mystring' | sed 's;\[Om/;;'
mystring