【发布时间】:2014-12-23 07:38:12
【问题描述】:
我有一个文件,其中的行如下所示:
mv -v DF-02239.jpg DF-02239.jpg
mv -v DF-02240.jpg DF-02240.jpg
mv -v DF-02241.jpg DF-02241.jpg
mv -v DF-02242.jpg DF-02242.jpg
我正在尝试用 .JPG 替换 FIRST .jpg 并使用以下 sed:
sed 's/\(mv -v .*?\)\(\.jpg\)\(.*\)/\1.JPG \3/' finalDuplicates.txt > finalCaseDuplicates.txt
我在这里验证了正则表达式的工作原理: http://regex101.com/r/cU9xV2/1
【问题讨论】:
-
您是否有理由不想简单地使用
sed 's/jpg /JPG /'?第一个 JPG 有一个跟随空间,第二个没有,所以你可以利用它 -
说真的?!好的。让我试试。这样就简单多了。如果这不起作用......你看到我的正则表达式有什么问题吗?我会通知你的……一会儿
-
@morgano 请作为答案发布,我会感谢你。
-
您的模式中的一个错误是使用了在 sed 的默认模式(基本正则表达式引擎)中不存在的非贪婪量词。
-
其实我加的时候不行>