我有一些要处理的文本文件。 样本输入:
'Edmonton Event', '2013-11-16-14.00.00', 'WW', 'ww', 'Keeper'
'Edmonton Event', '2013-11-16-14.00.00', 'WW', 'aw', 'Seeker'
'Edmonton Event', '2013-11-16-14.00.00', 'WW', 'iw', 'Left Beater'
'Edmonton Event', '2013-11-16-14.00.00', 'WW', 'sw', 'Right Beater'
有人可以告诉我如何使用shell脚本在每行的两端添加{ ....... },
吗?
示例输出:
{'Edmonton Event', '2013-11-16-14.00.00', 'WW', 'ww', 'Keeper'},
{'Edmonton Event', '2013-11-16-14.00.00', 'WW', 'aw', 'Seeker'},
{'Edmonton Event', '2013-11-16-14.00.00', 'WW', 'iw', 'Left Beater'},
{'Edmonton Event', '2013-11-16-14.00.00', 'WW', 'sw', 'Right Beater'},
答案 0 :(得分:0)
您可以将sed
与正则表达式一起使用,将整行放入匹配的组中,然后用大括号和末尾的逗号替换它。
sed 's/\(.*\)/{\1},/g' input.txt > output.txt
如果没有重定向输出,你会得到:
> sed 's/\(.*\)/{\1},/g' input.txt
{'Edmonton Event', '2013-11-16-14.00.00', 'WW', 'ww', 'Keeper'},
{'Edmonton Event', '2013-11-16-14.00.00', 'WW', 'aw', 'Seeker'},
{'Edmonton Event', '2013-11-16-14.00.00', 'WW', 'iw', 'Left Beater'},
{'Edmonton Event', '2013-11-16-14.00.00', 'WW', 'sw', 'Right Beater'},