各行に二重引用符を追加し、行の末尾にカンマを追加するにはどうすればよいですか?

各行に二重引用符を追加し、行の末尾にカンマを追加するにはどうすればよいですか?

二重引用符を追加するコマンド:

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

sed両方を使用する必要はありませんperl。どちらか一方を呼び出すと、すべての操作が完了します。

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保存して閉じる

関連情報