这个想法是将这两个替换应用于模式空间
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)
答案 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