我有很多文件的开头是xxx-yy。 xxx和yy都可能有所不同。例如:
356-01 Nielsen - Sovnen,Op。 18.mp3
" 356-01"之间的一切和" .mp3"必须删除,因此新文件名为:
356-01.mp3
" .MP3"也各不相同。表达式应涵盖" .flac"还
答案 0 :(得分:1)
假设xxx和yy是数字,你可以
s/(\d\d\d-\d\d).*(\..+$)/\1\2/
最后的\.
是一个文字句点,而.+$
表示每个字符一直到最后,所以它应该得到扩展名,因为它之前的.*
是贪婪的。
在斜杠和使用捕获组之间写入查找和替换。
答案 1 :(得分:0)
我的问题是基于我认为提前做了一些。现在证明它不起作用,因此我必须重新制定任务。对不起。
我有很多以01,02,03等开头的文件。它永远不会发出99.例如:
01 Nielsen - Sovnen,Op。 18.mp3
必须在新文件名的开头添加一个3位数*,以及" 01"之间的所有内容。和" .mp3"必须删除,因此新文件名为:
356-01.mp3
" .MP3"也各不相同。表达式应涵盖" .flac"还
*)您在回复中使用的3位数字并不重要,因为该命令将作为一行添加为我在每次使用前手动编辑的较大bash脚本中的一行