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 #这里还是空格分隔开
哪位知道为什么,求解释,谢谢。 展开
echo $X | sed 's/ /\n/g' #这里输出分成三行的a b c
Y=`echo $X | sed 's/ /\n/g'`
echo $Y #这里还是空格分隔开
哪位知道为什么,求解释,谢谢。 展开
2个回答
推荐于2016-04-07
展开全部
echo $X后就是a b c 然后 sed's//\n/g'的意思是将a b c 里的空格替换成换行,所以输出三行 a b c
`命令`
进行扩展时,Bash先执行命令,并把该命令的标准输出中最后面的换行符删除,用结果取代命令替换
`命令`
进行扩展时,Bash先执行命令,并把该命令的标准输出中最后面的换行符删除,用结果取代命令替换
展开全部
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
#!/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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询