Заменить текст в файлах значениями переменных, используя Bash

Учитывая тот факт, что текущий C # 3.0 допускает автоматические свойства, синтаксис которых подобен:

public int Property {get; set;}

, дополнительная работа, требуемая для использования свойств по публичным полям, почти равна нулю. Дело в том, что вы никогда не можете быть полностью уверены, что поле не будет использоваться по-другому или аксессуар никогда не изменится, и, учитывая компромисс в работе, нет причин не реализовывать свойство.

В любом случае, анализатор жалуется на вещи, которые в высоком проценте (в данном случае, например, 99,99% случаев) являются плохой практикой программирования ... но в любом случае он просто жалуется. Поля могут быть обнародованы, и есть некоторые крайние случаи, когда его прямое использование может быть оправдано. Как всегда, используйте свой здравый смысл ... но имейте в виду элементальное правило для лучших методов программирования ... Есть ли действительно веская причина нарушить соглашение? Если есть дальше, если нет, или если ответ «это требует больше работы», тогда придерживайтесь практики ...

1
задан Emma 27 February 2019 в 11:41
поделиться

2 ответа

Заключение символов в одинарные кавычки сохраняет буквальное значение каждого символа в кавычках.

Попробуйте это:

sed -i '' "s~$testPattern~$test~g" $(find . -name '*.php')
0
ответ дан gromi08 27 February 2019 в 11:41
поделиться

Ваша строка sed находится в одинарных кавычках. Расширения переменных там не происходит. Переключиться на двойные кавычки:

find . -name "*.php" -exec sed -i -e "s/$testPattern/$test/g" {} \;
0
ответ дан Poshi 27 February 2019 в 11:41
поделиться
Другие вопросы по тегам:

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