![파일의 모든 단어에 따옴표와 쉼표를 추가하세요.](https://linux55.com/image/80095/%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EB%AA%A8%EB%93%A0%20%EB%8B%A8%EC%96%B4%EC%97%90%20%EB%94%B0%EC%98%B4%ED%91%9C%EC%99%80%20%EC%89%BC%ED%91%9C%EB%A5%BC%20%EC%B6%94%EA%B0%80%ED%95%98%EC%84%B8%EC%9A%94..png)
다음과 같은 단어 목록이 있습니다.
string1
string2
string3
....
string12312
출력을 JS 배열로 사용할 수 있도록 이러한 단어를 구분된 방식으로 어떻게 변환합니까? 즉, "String1", "String2"..., "String12312"
---즉, 따옴표와 쉼표를 어떻게 추가합니까? 나는 이것이 셸에서 수행될 수 있다는 것을 알고 있지만 결과가 배열로 변환될 수 있는 한 다른 솔루션도 괜찮을 것이라고 생각합니다.
답변1
한 가지 방법은 다음과 같습니다.
sed 's/^\|$/"/g' file | paste -d, -s
"string1","string2","string3","....","string12312"
답변2
awk를 사용하세요:
awk '{printf "\"%s\", ", $0}' file
답변3
xargs printf '"%s", ' <file
...샘플 데이터를 사용합니다.
"string1", "string2", "string3", "....", "string12312",
답변4
언제든지 JSON 배열로 변환할 수 있습니다.
#!/usr/bin/env perl
use strict;
use warnings;
use JSON;
chomp ( my @data = <DATA> );
print to_json ( \@data );
__DATA__
string1
string2
string3
string12312
또는 한 줄로:
perl -MJSON -e 'print to_json ( [map{s/\n//gr}<>] )'
표준 입력을 파이프하거나 파일 이름(예: grep/awk 등)을 지정합니다.
두 가지 출력(예제 제공 시 후자):
["string1","string2","string3","string12312"]
print to_json ( \@data, {pretty=>1})
줄바꿈과 들여쓰기를 추가하여 "예쁜" JSON으로 형식화할 수 있습니다 .
(위 줄은 사용 중인 최신 Perl을 기반으로 합니다.가능한설치되었습니다. 이것이 작동하지 않는 경우:perl -MJSON -e 'chomp(@a=<>);print to_json ( \@a )'