微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 在字符串变量中保存命令输出,保持换行符

我有一个转换文件数据的脚本,为了更有效地工作,我想改变内存中的数据,然后将其转储到文件中.
我希望修改包含此文件文件

> This is a line
> this is other line

我使用sed命令来替换’>’带’#’的符号:

transform_output=$(eval "sed ${sed_args[@]} $file" 2>&1)
echo -e $transform_output

我得到输出

# This is a line # this is other line

而不是我想要的输出是:

# This is a line
# this is other line

>如何将输出保存在保持换行符的字符串变量中?
>如何在包含“#ADDED LINE#”的变量的开头添加一行并将其保存在文件中?

(我想要获取文件):

#ADDED LINE#
# This is a line
# this is other line

提前致谢

解决方法:

>引用用于防止在空白处分词:

echo -e“$transform_output”
>使用另一个echo对命令进行分组:

{echo“#ADDED LINE#”; echo -e“$transform_output”}>文件

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐