【发布时间】:2016-12-07 21:29:25
【问题描述】:
我正在尝试使用导出功能将文件的内容保存到变量中。但是我需要将所有换行符更改为 \n 之前。我正在尝试为此使用 sed 命令。
当我单独使用 sed 命令时,我得到了预期的结果。但是,如果我尝试使用导出将结果直接保存到变量中,我会得到一些意想不到的结果。我是这个主题的新手,我可以找到任何信息为什么它应该采取不同的行动。
示例文本文件:
#
#
#
#
some text
some more text
test
#
#
#
当我使用以下命令时,一切正常:
sed -z ':a;N;$!ba;s/\n/\\n/g' /path/to/file
但是以下两个都不起作用:
export TextInOneLine = $(sed -z ':a;N;$!ba;s/\n/\\n/g' /path/to/file')
export TextInOneLine = 'sed -z ':a;N;$!ba;s/\n/\\n/g' /path/to/file'
我收到以下错误:
-bash: export: `=': not a valid identifier
-bash: export: `#': not a valid identifier
...
我不知道我做错了什么,也许有人可以帮助我
【问题讨论】:
-
删除
=周围的空格,并在$(...)周围添加双引号 -
感谢您的成功!如果您创建了完整的答案,我会将其标记为完成