当前位置:  开发笔记 > 编程语言 > 正文

多行变量删除换行符 - 鱼

如何解决《多行变量删除换行符-鱼》经验,为你挑选了1个好方法。



1> ridiculous_f..:

fish在换行符上拆分命令替换.这意味着这$lines是一个列表.你可以阅读更多关于此列表.

将列表传递给命令时,列表中的每个条目都将成为单独的参数.echo空格分隔其论点.这解释了你所看到的行为.

请注意,其他shell在这里做同样的事情.例如,在bash中:

lines=$(cat .lorem)
echo $lines

如果要阻止拆分,可以暂时将IFS设置为空:

begin
   set -l IFS
   set lines (cat .lorem)
end
echo $lines

现在$lines将包含换行符.

正如faho所说,read也可以使用并且更短一些:

read -z lines < ~/.lorem
echo $lines

但请考虑是否可能实际上是您想要的换行.正如faho暗示的那样,您的sed脚本可以替换为数组切片:

set lines (cat .lorem)
echo $lines[2..4] # prints lines 2 through 4

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有