如何在每一行添加双引号,然后在行尾添加逗号?

如何在每一行添加双引号,然后在行尾添加逗号?

添加双引号的命令:

sed -e 's/.*/\"&\"/' some_file

在每行末尾添加逗号的命令:

perl -i -pe 's/$/,/' some_file

我已经尝试过这两种方法,如果我先添加双引号,然后添加逗号,则仅显示逗号。

假设我有一个像这样的文本文件:

aav
afv 
adad 

我想要像:

"aav",
"afv",
"adad",

答案1

awk

awk '{ printf "\"%s\",\n", $0 }' file

答案2

假设您有 GNU sed 或 BSD sed,那么您就错过了-i(或-i ''使用 BSD sed)sed就地编辑的选项。

您不需要同时使用两者sedperl完成它,只需调用其中一个即可完成所有操作:

LC_ALL=C sed -i 's/.*/"&",/' file

或者使用另一个标准工具来一些乐趣:

:|paste -d'"",' - file - -

答案3

使用sed命令:

sed 's/\(.*\)\r/"\1",/g' filename

它将删除回车符并添加引号和逗号。

输出:

"aav",
"afv",
"adad",

答案4

您可以在 Ex 模式下使用 Vim:

ex -sc '%s/.*/"&",/|x' file
  1. %选择所有行

  2. s代替

  3. x保存并关闭

相关内容