sed
можно вставить (несколько раз )перед первым и после последнего Я бы предположил, что любой, кто искал, как вставить/добавить текст в начало/конец файла, возможно, также должен знать, как сделать и другое.
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
)и разрывами строк экранировано \
для удобочитаемости.
1i\
для «вставки в строке 1». $a\
для «в строке добавить». $
помещается перед s/
. Результатом является преобразование вывода команды в действительный 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 ",
" "
]
}