実際にjsonファイルがありますfile
。最後の行を除くすべての行の末尾にコンマを追加するにはどうすればよいですか?たとえば、
{"a":1, "b":1, "c":2}
{"a":3, "b":3, "c":1}
{"a":1, "b":2, "c":3}
私が望むもの:
{"a":1, "b":1, "c":2},
{"a":3, "b":3, "c":1},
{"a":1, "b":2, "c":3}
答え1
あなたはそれを使用することができますawk
:
awk 'NR > 1{print line","}{line=$0;}END{print $0}' jsonfile
答え2
あなたはそれを使用することができますsed
:
sed '$n;s/$/,/' file
- これは
$n;
、最後の行であれば続行することを意味します。 - それ以外の場合は、
,
行の末尾に1つを追加します。 - POSIX 以外のフラグを追加すると、ファイル
-i
はその場所で編集されます。
次の場合awk
:
awk 'NR>1{print p} {p=$0","}END{print}' file1
- 行の内容を変数に保存します
p
。 - この変数は最後の行を除いて印刷されます。
- 入力が終わると、最後の行がそのまま印刷されます。
答え3
答え4
元のファイルは実際に改行で区切られたJSON(NDJSON).
GNUツールを使用するよりもインストールする方が良いJSONNPMから。
# say the file is test.log
$ json -f test.log -g
[
{
"a": 1,
"b": 1,
"c": 2
},
{
"a": 3,
"b": 3,
"c": 1
},
{
"a": 1,
"b": 2,
"c": 3
}
]