Самый простой ответ: не использовать sed
echo "wrapper{gradleVersion='5.5'}" >> build.gradle
Довольно просто, верно?
Если вы хотите игнорировать мои советы и продолжать использовать sed
, чтобы завершить комментарий @shellter:
В MacOS sed вам необходимо добавить новые строки перед текстом, который вы хотите добавить при использовании команды a
.
MacOS sedне будет добавлять новую строку по умолчанию после текста, который вы хотите добавить, и поскольку вы хотите, чтобы файл оставался стандартным для POSIX, вам нужно будет добавить его
Вы можете сделать:
sed -i '' -e '$a\
<text to add>
' <file>
- Поскольку вы хотите добавить одинарные кавычки, вам нужно обернуть команду sed двойными кавычками, а затем экранировать
$
и \
, что делает его особенно раздражающим при использовании.
Попробуйте это:
sed -i '' "\$a\\
wrapper{gradleVersion='5.5'}
" build.gradle
В gnu-sed (установите его с помощью brew brew install gnu-sed
), вы должны сделать:
gsed -i "\$a wrapper{gradleVersion='5.5'}" build.gradle