Кажется, что это редкий случай, но вот что со мной произошло:
Мы использовали @Inject
вместо @Autowired
, который является стандартом javaee, поддерживаемым Spring. В каждом месте он работал нормально, а бобы вводили правильно, а не в одно место. Инъекция компонента выглядит одинаково
@Inject
Calculator myCalculator
Наконец, мы обнаружили, что ошибка заключалась в том, что мы (фактически, функция автозавершения Eclipse) импортировали com.opensymphony.xwork2.Inject
вместо javax.inject.Inject
!
Итак, чтобы суммировать, убедитесь, что ваши аннотации (@Autowired
, @Inject
, @Service
, ...) имеют правильные пакеты!
sed -n '/pattern1/{p; :a; N; /pattern2/!ba; s/.*\n//}; p' inputfile
Объяснение:
/pattern1/{ # if pattern1 is found
p # print it
:a # loop
N # and accumulate lines
/pattern2/!ba # until pattern2 is found
s/.*\n// # delete the part before pattern2
}
p # print the line (it's either pattern2 or it's outside the block)
Редактирование:
Некоторые версии sed
должны быть загружены ложкой:
sed -n -e '/pattern1/{' -e 'p' -e ':a' -e 'N' -e '/pattern2/!ba' -e 's/.*\n//' -e '}' -e 'p' inputfile
Это легко сделать с awk:
BEGIN { doPrint = 1; }
/pattern1/ { doPrint = 0; print $0; }
/pattern2/ { doPrint = 1; }
{ if (doPrint) print $0; }
Я нашел sed info довольно простое чтение, со многими примерами. То же самое для awk .
awk '/pattern1/{g=1;next}/pattern2/{g=0;next}g' file
Это может сработать для вас:
sed '/pattern1/,/pattern2/{//!d}' file
sed
(то есть Mac OSX), и вы получите сообщение об ошибке extra characters at the end of d command
, просто добавьте ;
после d
, как это: sed '/pattern1/,/pattern2/{//!d;}' file
– rkd
5 December 2016 в 23:10
Вы также можете использовать текстовый редактор Unix ed:
echo '
pattern1
garbage
pattern2
' > test.txt
cat <<-'EOF' | sed -e 's/^ *//' -e 's/ *$//' | ed -s test.txt &>/dev/null
H
/pattern1/+1,/pattern2/-1d
wq
EOF
Для получения дополнительной информации см .: Редактирование файлов с помощью текстового редактора из сценариев
sed: -e expression #1, char 58: Unknown option to 's'
. Моя версия sed - 3.02 – kasper 22 February 2011 в 01:47sed '/pattern1/,/pattern2/{/pattern1/b;/pattern2/b;d}' inputfile
:) – user 22 February 2011 в 14:23echo -e 'aaa\npattern1\ncccxxx\ndddxxx \npattern2\nfff\nggg\npattern1\nAAAxxx\nBBBxxx \nCCCxxx\nDDDxxx\npattern2\nEEE\nFFF'
– Dennis Williamson 22 February 2011 в 15:38