为文件中的每个单词添加引号和逗号

为文件中的每个单词添加引号和逗号

我有一个单词列表,例如:

string1
string2
string3
....
string12312

我如何以分隔的方式转换这些单词,以便输出可以用作 JS 数组,即"String1", "String2"..., "String12312"--- 换句话说,我如何添加引号和逗号?我知道这可以在 shell 中完成,但我想只要结果可以转换为数组,任何其他解决方案都可以。

答案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"]

可以将其格式化为“漂亮”的 JSON,并print to_json ( \@data, {pretty=>1})添加换行和缩进。

(上面的一行是基于您所使用的较新的 Perl可能已安装。如果这不起作用:perl -MJSON -e 'chomp(@a=<>);print to_json ( \@a )'

相关内容