ファイル内のすべての単語に引用符とカンマを追加します。

ファイル内のすべての単語に引用符とカンマを追加します。

次の単語のリストがあります。

string1
string2
string3
....
string12312

出力をJS配列として使用できるように、これらの単語を区切られた方法でどのように変換しますか?つまり、"String1", "String2"..., "String12312"---つまり、引用符とコンマをどのように追加しますか?私はこれがシェルで実行できることを知っていますが、結果を配列に変換できる限り、他の解決策も問題ありません。

答え1

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

または1行で:

perl -MJSON -e 'print to_json ( [map{s/\n//gr}<>] )'

標準入力をパイプするか、ファイル名(grep / awkなど)を指定します。

2つの出力(例を提供する場合の後者):

["string1","string2","string3","string12312"]

print to_json ( \@data, {pretty=>1})改行とインデントを追加して、「かわいい」JSONにフォーマットすることができます。

(上記の行は、使用している最新のPerlに基づいています。可能インストールされました。これがうまくいかない場合:perl -MJSON -e 'chomp(@a=<>);print to_json ( \@a )'

関連情報