如何使用换行符将 sed 的结果存储在变量中

发布于 2025-01-08 11:58:23 字数 163 浏览 0 评论 0原文

我尝试以这种方式存储 sed 的数据,

line=$(sed 's/old/new/g' data.t)

但问题是换行符没有存储在变量中。 sed 命令产生一个输出,其中有新行,而我想存储它们时,变量不存储新行。 我怎样才能在变量中存储换行符?

i tries storing data of sed in this way,

line=$(sed 's/old/new/g' data.t)

but the problem is newline do not get stored in a variable.
the sed command produces a output in which there are new lines the variable doesnt stores the new lines while i want to store them.
How can i store newline in the variable too?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

尝蛊 2025-01-15 11:58:23

换行符就在那里,您只需正确引用变量即可看到它。 echo 不是一个很好的检查变量的命令,但这应该像你想要的那样工作:

echo "$line"

The newline is there, you just need to quote the variable properly to see it. echo is not a very good command for inspecting your variables,but this should work like you want:

echo "$line"
可遇━不可求 2025-01-15 11:58:23

它确实保留了换行符,但是要在使用它时看到它们,您需要双引号它

$ a=$(echo -e "a\nb\nc")
$ echo $a
a b c
$ echo "$a"
a
b
c

It does keep the newlines, but to see them when you use it, you need to double quote it

$ a=$(echo -e "a\nb\nc")
$ echo $a
a b c
$ echo "$a"
a
b
c
初与友歌 2025-01-15 11:58:23

试试这个

line="$(sed 'a/old/new/s' data.t)"

echo "$line"

我不确定你的 sed cmd,'a/old/new/s'。我本来希望看到类似“s/old/new/g”的内容,但祝你好运。

我希望这有帮助。

Try this

line="$(sed 'a/old/new/s' data.t)"

echo "$line"

I'm not sure about your sed cmd, 'a/old/new/s'. I would have expected to see something like 's/old/new/g', but good luck.

I hope this helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文