shell脚本的三种将空格替换为回车的方法tr、sed、awk(指定字符)

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}将结果展示。

    原文作者:mt青涩
    原文地址: https://blog.csdn.net/Li_HelloWord/article/details/123061449
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞