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}将结果展示。
本文探讨了在命令行中如何使用`tr`, `sed` 和 `awk` 将空格替换为回车的方法。通过示例展示了直接使用命令与变量赋值后的不同效果,解释了命令行中回车被转换为空格的原因,并提供了存储结果到变量以正确显示回车的方法。
3470





