Я предлагаю вам решение ed(1)
.
INSERTTO=<h2>title</h2>
<li>sdfdsf</li>
printf '%s\n' 1i "$INSERTTO" . w | ed -s file.html
- Если файл не пустой, он будет работать. в противном случае используйте
0a
в качестве адреса и команды вместо 1i
... Или используйте cat(1)
и mv(1)
INSERTTO=<h2>title</h2>
<li>sdfdsf</li>
Добавьте stdin
помечать и использовать herestring
работает в bash, но не в оболочках POSIX.
cat - file.html <<< "$INSERTTO"
Вы должны увидеть вывод в стандартный вывод, перенаправить его в другой файл и переместить этот файл в исходный файл, что-то вроде этого.
cat - file.html <<< "$INSERTTO" > tempfile && mv tempfile file.html
Однако, если файл html является символической ссылкой, он теперь не работает ... Обходным путем было бы использование другого cat
.
cat - file.html <<< "$INSERTTO" > tempfile && cat tempfile > file.html && rm tempfile.