首页 > 解决方案 > Shell 脚本:将两行打印为不同的行,但在 csv 文件的同一单元格中

问题描述

我必须在 csv 文件中将两行打印为两个不同的行,但在同一个单元格中使用 shell 脚本。谁能帮我实现同样的目标..

我有两行存储在单独的变量中。如何将它们回显或打印到 csv 文件中,以便两条线都出现在一个单元格中?

我能够在 csv 文件中获得两条不同的行,但不能在同一个单元格中。

我正在尝试做:

var1="abc"
var2="zyz"

eval echo -e '"${var1}" \n"${var2}"' > outputfile.csv

我希望 csv 文件中的输出为:

abc
xyz

但在同一个牢房里...

标签: shellunix

解决方案


为了在单个单元格中包含换行符,您需要将其双引号,以便命令的输出为

"abc
zyz"

你可以用echo来做,用这种方式转义

echo -e \""$var1"\\n"$var2"\"

使用printf可能更具可读性(并且更便携)

printf '"%s\n%s"' "$var1" "$var2"

推荐阅读