我有一个像
这样的大清单Afghanistan
Albania
Algeria
Andorra
Angola
.
.
如何使用某些Linux实用程序自动生成列表,而无需手动执行?
"Afghanistan",
"Albania",
"Algeria",
"Andorra",
"Angola",
.
.
答案 0 :(得分:5)
例如,使用AWK:
awk '{ print "\"" $0 "\","; }' <myFile
答案 1 :(得分:2)
用sed
bash-3.2$ sed 's/\(.*\)/"\1",/g' myFile
"Afghanistan",
"Albania",
"Algeria",
"Andorra",
"Angola",
或sed 's/.*/"&",/g' myFile
答案 2 :(得分:2)
使用sed:
sed 's/\(.*\)/"\1",/g' file
使用while循环:
while read line;do echo \"$line\",;done < file
使用for循环:
for line in `cat file`;do echo \"$line\",;done
答案 3 :(得分:2)
只是为了好玩,这是一个纯粹的bash / zsh版本:
while read line ; do echo "\"$line\"" ; done <myFile
答案 4 :(得分:2)
最简单的应该是主要针对那个
sed 's/.*/"&",/' SourceFile > DestFile
如果使用GNU sed 和 DestFile与SourceFile相同
sed -i "" -e 's/.*/"&",/' SourceFile
答案 5 :(得分:1)
以更好的方式使用awk
awk '$0="\""$0"\","' yourfile
答案 6 :(得分:1)
你可以明确地说:
sed -e 's/^/"/' -e 's/$/",/' file
有了这个,你说:
^
)替换为"
。$
)替换为",
。答案 7 :(得分:1)
使用编辑器的搜索和替换功能。
搜索行的开头并替换为"
。搜索行尾并替换为",
。或者,根据编辑器的功能,对^(.*)$
之类的内容进行正则表达式搜索,并替换为"\1",
。