我有一个这样的文件:
foo, bar, foo1
bar, foo
foo
我想要这样:
foo
bar
foo1
bar
foo
foo
cat file | tr ' ' '\n' | tr -d ,
如果要删除流中的空行,只需添加| grep -xv ''
如果你的意思是列用 分隔,
,你可以使用类似的东西:
cat file.txt | sed 's/, /\n/g'
我必须注意,这在 Mac OS X 中不起作用(感谢 Frost 的提示)。当您在 Mac OS X 中时,您必须使用另一种不太好的结构:
cat file.txt | sed -e 's/, /\'$'\n/g'
这段代码
awk -F ', ' '{for(i=1;i<=NF;i++) print $i}' file.txt
适用于您给出的示例(如果逗号不总是跟在空格后面,则可能会有些复杂)。
sed -e 's/, /\
/g' file.txt