如何为脚本中特定字符后面的每个单词生成新行,并从新行前面的行添加第一个单词

时间:2013-02-04 19:39:34

标签: linux arrays shell

我有一个包含以下行的文件。想写一个剧本

driver: keeps, ask  
cartoon: drake, mast, tent

如何实现以下结果

driver: keeps
driver: ask
cartoon: drake
cartoon: mast
cartoon: tent

2 个答案:

答案 0 :(得分:1)

这是一个在这里工作的awk命令:

awk -F'[:, ]+' 'OFS=": " { for (i = 2; i <= NF; i++) print $1, $i }' file 

答案 1 :(得分:0)

让你入门的东西:

$ awk '{for(i=2;i<=NF;i++){print $1, $i}}' f1
driver: keeps,
driver: ask
cartoon: drake,
cartoon: mast,
cartoon: tent**

下一步是使用gsub在显示之前整理一些东西或者使用输入字段选择器...