多个sed替换 - 什么错了

时间:2014-11-26 14:18:12

标签: sed

这个想法是将这两个替换应用于模式空间

sed -re 's/\v\s+/\t/g' -re 's/[(]([^()]+)[)]\s*\t/\1\t/' movies.list

给出了我认为的语法错误。

这是一些测试数据(虽然它不匹配第一个模式。

& The Oriental Groove, Yacine   "Els matins a TV3" (2004)
& Vinícius, João Bosco  Show da Virada (2011)   Teleton 2009 (2009) Teleton 2012 (2012) "Eliana" (2009)
'77 Big Smoker Pig  "Pop ràpid" (2011)
'Ariffin, Syaiful   Desire (2014/III)
'Aruhane        Shaping Bamboo (1979)
'Atu'ake, Taipaleti When the Man Went South (2014)

2 个答案:

答案 0 :(得分:1)

只需在替换命令之间使用;

sed -re 's/\v\s+/\t/g; s/[(]([^()]+)\s*\t/\1\t/' movies.list

答案 1 :(得分:0)

第二个-r标志导致问题。在论证处理的那一点上,你显然不能使用那个标志。放下它。

sed -re 's/\v\s+/\t/g' -e 's/[(]([^()]+)[)]\s*\t/\1\t/' movies.list