Ответы:
sed -e "\$aTEXTTOEND" это самый простой способ.
$соответствует последней строке (это нормальный sedадрес; 4aTEXTTOENDвставляется после четвертой строки), aэто команда добавления и TEXTTOENDчто добавить.
sed -e '$a\NEWLINE\\'. Замените NEWLINE фактической новой строкой.
Не нужно использовать sedв этом случае. Как насчет
echo "<?php" >> file
<php » и « >» и цитирует выделенное содержимое сразу, так что он, вероятно, действительно хочет sedфрагмент.
sudo, что приводит к сбою этого варианта, поскольку echoв нем содержится встроенная команда оболочки, а не исполняемый файл$PATH
echoвстроенный в систему, но это также исполняемый файл найден в$PATH
Предполагая, что вы хотите поместить конечный тег php в файлы, тогда
sed -i '$s/$/\n?>/' file
должен сделать трюк
Смотрите ваш оригинальный пост для команды all in one sed.
find . -type f -exec sed -i -e "1s/^/<?php /" -e "\$s/\$/ ?>/" {} \;
Используйте команду sed 'append (a)'. Например, чтобы добавить две строки в конец файла:
sed -i -e '$a\
foo1 bar1\
foo2 bar2' file
Простым способом писать и вносить изменения в содержимое в определенной строке в файле. Если вы хотите вставить что-либо по определенному номеру строки, используйте следующую команду:
sed -i '2i i have started' sheikh.log
где 2i- строка № 2 и я выступает за вставку. Если вам нужно вставить в последнюю строку, используйте $вместо 2. я начал - текст для вставки и sheikh.logимя файла.
Мы также можем внести изменения в строку, используя команду ниже
sed -i '2c we have started' sheikh.log
iизменено на we.
Я бы предположил, что любой, кто искал, как вставить / добавить текст в начало / конец файла, вероятно, также должен знать, как сделать другой.
cal | \
gsed -E \
-e '1i\{' \
-e '1i\ "lines": [' \
-e 's/(.*)/ "\1",/' \
-e '$s/,$//' \
-e '$a\ ]' \
-e '$a\}'
Это calвыводится по конвейеру в gnu- sed( вызывается gsedна macOS, установленном через brew.sh ) с расширенным RegEx ( -E) и применены 6 «скриптов» ( -e), а разрывы строк экранированы \для удобства чтения. Сценарии 1 и 2 используются 1i\для «в строке 1 вставить». Сценарии 5 и 6 используются $a\для «в строке <последний>, добавить». Я выровнял текстовые выходные данные по вертикали, чтобы код представлял то, что ожидается в результате. Сценарии 3 и 4 выполняют подстановки (последние применяются только к «line <last>»). Результатом является преобразование вывода команды в допустимый JSON.
{
"lines": [
" October 2019 ",
"Su Mo Tu We Th Fr Sa ",
" 1 2 3 4 5 ",
" 6 7 8 9 10 11 12 ",
"13 14 15 16 17 18 19 ",
"20 21 22 23 24 25 26 ",
"27 28 29 30 31 ",
" "
]
}
{ cat file; echo 'END OF FILE'; } > newFile, это работает также благодаря ш. *. (не sed, но работает и просто)