LINUX.ORG.RU

Помогите проеранировать Регулярное выражение


0

1

echo «MAKING SOME BACKUP INNODB TABLES ---->> ${TABLES_NAMES}» | sed -e 's/${DATABASE_NAMES}\.\/\|\///g'

Есть строка по типу test3./myisam2/ test3./myisam1/ которая находится в переменной TABLES_NAMES, которая в скрипте соотвественно меняется, но структура остается той же и надо сделать с ней такую:

myisam2 myisam1

Если место переменной ${DATABASE_NAMES} написать test3 то работает нормально))



Последнее исправление: Americos (всего исправлений: 1)

помогите угадать предназначение экранирования

mmarkk
()
Ответ на: комментарий от anonymous

тогда подскажите другой вариант решения проблемы)))

Americos
() автор топика
Ответ на: комментарий от arsi

О спасибо большое сделано... доблесной славы вам в ваших трудах)

Americos
() автор топика
Ответ на: комментарий от anonymous

Теперь помогите новичьку теперь это все запихнуть в такую команду

mysqldump ${DATABASE_NAME} --tables sed -e «s/${DATABASE_NAME}\.\/\|\///g» > /tmp/test_innodb_backup.sql

Americos
() автор топика
Ответ на: комментарий от Americos

Может лучше многоуважаемый новичок объяснит чего он желает от искомой команды?

belous_k_a
()

sed -e 's%/path/one%/path/two%'

ananas ★★★★★
()
Ответ на: комментарий от Americos

вот эта вся конструкция отфильтровует мусориз переменной ${TABLES_NAMES} sed -e «s/${DATABASE_NAME}\.\/\|\///g»

и весь результат надо отправить как список таблиц для mysqldump )

Americos
() автор топика
Ответ на: комментарий от Americos

Не работает твой код

Не удивлен, после использования sed в качестве аргумента командной строки.

Хотя, да вложенные выражения bash не поддерживает, а у меня zsh. Так что придется по очереди:

% echo ${str//one.\//}

а потом аналогично убрать слеши

belous_k_a
()
Ответ на: комментарий от belous_k_a

милейший, пропагандоны zsh выглядят крайне неумно, впредь, порверяйте однострочники перед постингом

anonymous
()
Ответ на: комментарий от anonymous

Спасибо всем за помощь поставленную задачу решил простым присваиванием результатов фильтрации sed в буферную переменную и использовав её как аргумент) Форум замечательный. Здесь по настоящему сидят умы)

Americos
() автор топика

Ох, юзать кавычки для каждой отдельной части s религия не позволяет?

buddhist ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.