我在一个目录中有多个文件,例如:linux_file1.mp4,linux_file2.mp4等。我如何移动这些文件,使用shell,使名称是file1.mp4,file2.mp4等。我有大约30个文件,我想移动到新的名称。
我喜欢
mmv这种事情
原文链接:https://www.f2er.com/bash/391215.htmlmmv 'linux_*' '#1'
但你也可以使用重命名。请注意,通常有两个重命名命令具有非常不同的语法。一个用Perl编写,另一个用util-linux分发,所以我们将它们区分为下面的“perl rename”和“util rename”。
用Perl重命名:
rename 's/^linux_//' linux_*.mp4
正如cweiske正确指出的。
使用util重命名:
rename linux_ '' linux_*.mp4
你怎么知道你有什么重命名?尝试运行rename -V;如果你的版本是util重命名它将打印版本号,如果它是perl重命名它将无害报告和未知选项和显示用法。
如果你没有重命名或mmv,不想或不能安装它们,你仍然可以用简单的老shell代码:
for file in linux_*.mp4 ; do mv "$file" "${file#linux_}" ; done
此语法将适用于符合XPG4或更高版本的任何POSIX sh,这些天本质上都是shell。