İlk ve son
Bir dosyanın başına / sonuna nasıl metin ekleyeceğinizi / ekleyeceğinizi araştıran birinin muhtemelen diğerinin de nasıl yapılacağını bilmesi gerektiğini varsayardım.
cal | \
gsed -E \
-e '1i\{' \
-e '1i\ "lines": [' \
-e 's/(.*)/ "\1",/' \
-e '$s/,$//' \
-e '$a\ ]' \
-e '$a\}'
açıklama
Bu cal
çıkış , genişletilmiş RegEx ( ) ve 6 "betik" uygulanmış ( ) ve guan- sed
( brew.sh gsed
aracılığıyla yüklenen macOS'ta ) ve okunabilirlik için kaçan satır sonları ile birlikte çıkış borularıdır . Script 1 ve 2 , "1. satırda, ekle" yi kullanır. Script 5 ve 6 , "<last> satırında, sonda" satırını kullanır . Kodun sonuçta beklenenleri temsil etmesi için metin çıktılarını dikey olarak hizaladım. Script 3 ve 4, ikame yapar (ikincisi sadece "<last>" satırı için geçerlidir). Sonuç, komut çıkışını geçerli JSON'a dönüştürmektir.-E
-e
\
1i\
$a\
çıktı
{
"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 ",
" "
]
}