echo “abc ef ddd” | tr ‘ ‘ ‘\n’
echo “abc ef ddd” | sed “s/ /\n/g”
echo “abc ef ddd” | awk ‘{ gsub(” “,”\n”); print $0}’
以上是三种可以将空格替换为回车的方法。
但是有个问题,如果在命令前加上“echo”就不行,例如:
echo $(echo “abc ef ddd” | tr ‘ ‘ ‘\n’)
echo $(echo “abc ef ddd” | sed “s/ /\n/g”)
echo $(echo “abc ef ddd” | awk ‘{ gsub(” “,”\n”); print $0}’)
“echo”自动将回车给换成空格了。
如果写成这样:
str_tr=$(echo “abc ef ddd” | tr ‘ ‘ ‘\n’)
str_sed=$(echo “abc ef ddd” | sed “s/ /\n/g”)
str_awk=$(echo “abc ef ddd” | awk ‘{ gsub(” “,”\n”); print $0}’)
就可以用${str_tr}、${str_sed}、${str_awk}将结果展示。