Найти все строки, соответствующие шаблону

Это

java.lang.UnsupportedClassVersionError

означает, что некоторые из библиотек в вашем проекте используют другую версию Java и соответственно установлены в пути. Быстрые вещи, чтобы решить эту проблему:

$>which java

вывод -> расположение текущей Java (например. /usr/bin/java)

java --version

выход ->1.7.0 или 1.8.0 в этом случае попробуйте переключить версию, для этого сделайте следующее:

export JAVA_HOME=<path to diff java version sdk>
export PATH=$JAVA_HOME/bin:$PATH

Это позволяет новому пути идти перед старым путем, а также для конкретных ошибок eclipse, взгляните на кеш eclipse в домашнем каталоге (Папка.eclipse в вашем проекте ). Вы можете безопасно удалить этот каталог вместе с файлами.project, если таковые имеются, и перекомпилировать.

Изменить :Смещение = 6 означает, что ваша текущая версия для java (JDK )— 1.6. Попробуйте переключиться на более поздние версии. Также убедитесь, что вы используете путь Jdk, а не путь jre

0
09.08.2020, 16:23
2 ответа

Если ваш grepимеет переключатель-o(или--only-matching)и ваша оболочка поддерживает здесь строки:

grep -o -- "$pattern" <<<"$sample_input"
3
18.03.2021, 23:13

мы подготавливаем еще одну переменную var p, которая содержит экранированную версию переменной pat.

pat='s.'
p=${pat//\//\\/}
sample_input='abcdsasd kmsa so
msd ks'

Использование perlв режиме slurp, чтобы весь входной образец был в одной записи$_

$ printf '%s\n' "$sample_input" | pat="$pat" \
perl -ln -0777e 'print for s/\n\z//r =~ /$ENV{pat}/sg'

Здесь мы используем sedв псевдокоде:

_DO_=':a'    _UNTIL_NOPAT_=${_DO_/:/t }
_SAVE_='h'   _RETRIEVE_='g'
_RM_PAT_='s/'"$p"'\(.*\)/\1/'
_SLURP_='$!{N;s/^/\n/;D;}'
_CHOMP_R='s/\('"$p"'\).*/\1/'
_CHOMP_L_n_PRNT='s/.*\('"$p"'\)/\1/p'

printf '%s\n' "$sample_input" |
sed -ne "
  ${_SLURP_}
  ${_DO_}
      ${_SAVE_}
          ${_CHOMP_R}
          ${_CHOMP_L_n_PRNT}
      ${_RETRIEVE_}
      ${_RM_PAT_}
  ${_UNTIL_NOPAT_}
"
0
18.03.2021, 23:13

Теги

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