我正在尝试使用导出功能将文件内容保存到变量中。但是我需要将所有换行符更改为\ n之前。我正在尝试使用sed命令。
当我自己使用sed命令时,我得到了预期的结果。但是,如果我尝试使用export直接将结果保存到变量中,我会得到一些意想不到的结果。我是这个主题的新手,我可以找到任何信息,为什么它应该采取不同的行动。
示例文本文件:
#
#
#
#
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
...
我不知道我做错了什么,也许有人可以帮助我
答案 0 :(得分:0)
只需删除=
周围的空格,然后在$(...)
周围添加双引号:
export TextInOneLine="$(sed -z ':a;N;$!ba;s/\n/\\n/g' /path/to/file')"