실제로 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;
마지막 행인 경우 계속 진행함을 의미합니다. - 그렇지 않으면
,
줄 끝에 하나를 추가합니다. - 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
}
]