将字符串拆分为数组并使用命令行在新行上打印每个元素

将字符串拆分为数组并使用命令行在新行上打印每个元素

我有一个用逗号分隔的字符串,就像a,b,c,d,e,f我想分成一个以逗号作为分隔符的数组。然后我想在新行上打印每个元素。我遇到的问题是,到目前为止我所知道的所有 cli 工具(sed、awk、grep)只能在行上工作,但是如何将字符串转换为这些工具可以使用的格式。到目前为止我尝试过的是

echo "a,b,c,d,e,f" | awk -F', ' '{print $i"\n"}'

我怎样才能得到这个输出

a
b
c
d
e
f

从这个输入

a,b,c,d,e,f

答案1

坚持你的 awk ...只要确保你理解 awk 之间的区别场地和一个记录分隔器 :}

echo "a,b,c,d,e,f" | awk 'BEGIN{RS=","}{$1=$1}1'

但评论中的 tr 解决方案更可取。

相关内容