使用正则表达式重命名一组文件的最佳方法是什么?
我有一个充满文件名的目录:“file1.mp4.mp4 file1.mp4.mp4 file1.mp4.mp4 ...”。
我想使用 find 将它们全部重命名为“file1.mp4.mp4”到“file1.mp4”以及其他一些 bash 工具,它看起来像这样,但带有正则表达式:
找到 . -name "*.mp4" |xargs echo -0
I have a directory full of files name: "file1.mp4.mp4 file1.mp4.mp4 file1.mp4.mp4 ...".
I would like to rename all of them using find from "file1.mp4.mp4" to "file1.mp4" and some other bash tools it would look something like this but with a regular expression:
find . -name "*.mp4" |xargs echo -0
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
或者循环尝试这个简单的 bash 命令?
Or try this simple bash command in a loop?
使用重命名。如果所有文件都在同一目录中,您可以执行以下操作:
否则您可能需要类似的内容:
另外,要查看运行
rename
时会发生什么,只是为了调试该语句,请执行以下操作:如果文件名包含空格,这甚至可以工作,例如:
Use rename. If all the files are in the same directory, you can do this:
Otherwise you might want something like:
Also, to see what would happen when you run
rename
, just to debug the statement, do this:This even works if the filename contains a space, for example:
尝试这样的事情 -
Try something like this -
您有
rename
命令吗?如果是这样,您可以尝试:这将从当前目录中扩展名为
.mp4.mp4
的所有文件中删除最后的.mp4
后缀。Do you have the
rename
command? If so, you can try:This will remove the final
.mp4
suffix from all files with extension.mp4.mp4
in the current directory.