Сценарий оболочки sed работает неправильно

сработало! Спасибо за ваш вклад! Символы в цикле с '' И переменная в команде с ''. Дай пять и большое спасибо! П

for C in '>AB123|x2'
  do
  sed -n -e '/'"$C"'/,/>/p' filename | sed -e '$d' >> output
done

(при условии, что во входных данных имеется только одно вхождение секции ).

0
19.04.2019, 03:46
1 ответ

Разве sed -я не ожидал файлов, а не строк? Вам не нужно было бы перебирать строки в первую очередь. Вы можете написать сценарий, который включает только фактические замены, и запустить свой сценарий, выполнив команду find -f.. -exec sed -i -f yourscript.sh {} \; Ваш текущий скрипт просто запустит sed со всей строкой в ​​качестве аргумента. Если строка содержит специальные символы, такие как #или ; ваш сценарий будет сломан.

0
28.01.2020, 03:49

Теги

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