linux sed echo命令

X="abc"echo$X|sed's//\n/g'#这里输出分成三行的abcY=`echo$X|sed's//\n/g'`echo$Y#这里还是空格分隔开哪位知道为什么... X="a b c"
echo $X | sed 's/ /\n/g' #这里输出分成三行的a b c
Y=`echo $X | sed 's/ /\n/g'`
echo $Y #这里还是空格分隔开

哪位知道为什么,求解释,谢谢。
展开
 我来答
匿名用户
推荐于2016-04-07
展开全部
echo $X后就是a b c 然后 sed's//\n/g'的意思是将a b c 里的空格替换成换行,所以输出三行 a b c
`命令`
进行扩展时,Bash先执行命令,并把该命令的标准输出中最后面的换行符删除,用结果取代命令替换
wallcopper
2015-07-16 · TA获得超过3447个赞
知道大有可为答主
回答量:1986
采纳率:86%
帮助的人:1816万
展开全部
1、创建a.sh
#!/bin/sh
set -x #加上调试
X="a b c"
echo $X|sed 's/ /\n/g'
Y="x y z"
Z=`echo $Y | sed "s/ /\n/g"`
echo $Z
printf "$Z \n"
for str in $Z;do
echo $str
done

2、执行./a.sh
+ X='a b c'
+ echo a b c
+ sed 's/ /\n/g'
a
b
c
+ Y='x y z'
++ echo x y z
++ sed 's/ /\n/g'
+ Z='x
y
z'
+ echo x y z
x y z
+ printf 'x
y
z \n'
x
y
z
+ for str in '$Z'
+ echo x
x
+ for str in '$Z'
+ echo y
y
+ for str in '$Z'
+ echo z
z
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式