linux - 在 unix 或 shell 中将新行打印为字符串文字

标签 linux bash shell unix scripting

嗨,我有一个 shell 脚本,其中包含

variable="apple banana monkey"

我想要这样

apple\nbanana\nmonkey

但是当我尝试执行时

echo $variable | tr ' ' '\n'

结果是

apple
banana
monkey

我想获取新行的实际文字而不是评估值。

我尝试过 echo -e 或 echo -n 甚至多次转义\\但无济于事。

请帮忙。谢谢

最佳答案

tr 命令通过执行 1 到 1 映射将字符转换为字符。您要求该工具将空格转换为两个字符,这是 tr 无法完成的事情。

如果您接受命令开关,您可以尝试使用 sed:

echo "$variable" | sed  's/ /\\n/g'

关于linux - 在 unix 或 shell 中将新行打印为字符串文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59893473/

相关文章:

linux - Bash 脚本没有扩展我的 $file 变量?

linux - 尝试发送带有数据的 TCP SYN 数据包和带有数据的 RST,但原始数据字段在传输过程中消失。为什么?

java - 如何通过浏览器运行终端程序?

bash - 我试图在 Linux 中将 MAC 地址作为变量获取,但它很少起作用

php - 无法删除 php shell_exec() 返回值中的换行符

linux - 计算平均值而不考虑 shell 脚本中的缺失值?

bash - 在 shell 中使用 seq 的数字序列的长度

python - 使用mmap找出缓存未命中

php运行shell脚本

python - 在 python 中运行 bash 命令并处理错误