Linux 将多行文字与等级库数据合并为一行

Linux 将多行文字与等级库数据合并为一行,linux,bash,tex,Linux,Bash,Tex,我有这样的东西 Title : Magic Moments Artist: Perry Como Album : Original American Songbook: 50 Year: 2005, Genre: Other (12) Comment: DrBN Track: 7 我需要这个 Magic Moments,Perry Como,Original American Songbook: 5

我有这样的东西

Title  : Magic Moments                   Artist: Perry Como
Album  : Original American Songbook: 50  Year: 2005, Genre: Other (12)
Comment: DrBN                            Track: 7
我需要这个

Magic Moments,Perry Como,Original American Songbook: 50,2005,Other (12),DrBN,7
我是bash的新手,我不知道怎么才能得到这个 谢谢你的帮助

编辑


使用
sed
paste
,如中所示

sed 's/Title *: //;s/ *Artist: /,/;s/Album *: //; s/ *Year: /,/;s/ *Genre: //;s/Comment: //;s/ *Track: /,/' | paste -sd,

当然,如果您有多张唱片/相册/曲目,或者字段名称可能会改变,那么有更好的解决方案。

我想,应该跳过word
Songbook
作为列名。在发布到此处之前,您是否对解决此问题进行了充分的研究?RomanPerekhrest否这是文件中的数据,是的,我已经读过关于文本转换的文章,但是这个例子现在对我来说似乎有点太难了。我知道我该怎么做,但我不知道怎么做。1) 删除“列”之间的空格2)删除新行符号3)并可能通过以下方式获得值:除了这三行之外,还有其他行吗?是的,这将是一个包含此类数据的完整文件谢谢,这对我来说是一个坚实的基础,因为你写的名字可能会改变,再次感谢!
sed 's/Title *: //;s/ *Artist: /,/;s/Album *: //; s/ *Year: /,/;s/ *Genre: //;s/Comment: //;s/ *Track: /,/' | paste -sd,