用于修改SQL使用的文本文件的Shell脚本

时间:2015-10-31 02:55:38

标签: 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'

有人可以告诉我如何使用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'},

1 个答案:

答案 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'},