正则表达式在Mac终端后添加字符

时间:2015-10-28 21:41:29

标签: regex macos replace sed

我试图将字符添加到许多文本文件的某些行的末尾。 文本样本(这些是字幕)

WEBVTT

00:00.000 --> 00:03.000
Der perfekte Case sozusagen war,

00:03.000 --> 00:06.000
dass man in der gleichen Stadt wohnt, befreundet ist,

00:06.000 --> 00:08.000
sich 6 Monate nicht gesehen hat 

....

我需要在每个时间码的末尾添加 L:90%。 (开头有空格) 我已经提出了这个正则表达式来标记正确行的结束,但我无法找到最终添加Stuff的正确语法。

(-->).*

我一直在用这个:

sed -i '' 's/->/-->/g' */*.vtt

通过终端查找和替换。

非常感谢! 温尼

1 个答案:

答案 0 :(得分:2)

这应该可以解决问题:

kevin@KEVIN-PC MINGW64 /
$ cd /C/MongoDB/bin

kevin@KEVIN-PC MINGW64 /C/MongoDB/bin
$ mongod
bash: mongod: command not found

kevin@KEVIN-PC MINGW64 /C/MongoDB/bin
$ ls
bsondump.exe*  mongodump.exe*    mongoperf.exe*     mongotop.exe*
libeay32.dll*  mongoexport.exe*  mongorestore.exe*  ssleay32.dll*
mongo.exe*     mongofiles.exe*   mongos.exe*
mongod.exe*    mongoimport.exe*  mongos.pdb
mongod.pdb     mongooplog.exe*   mongostat.exe*

kevin@KEVIN-PC MINGW64 /C/MongoDB/bin
$ mongod
bash: mongod: command not found

sed -i 'bak' -Ee 's/(--> [0-9:.]+)/\1 L:90%/' */*.vtt 是您在\1内捕获的内容的反向引用。 ()标志启用扩展正则表达式支持。否则捕获也不起作用。