我在一个目录中有多个文件,例如:linux_file1.mp4
, linux_file2.mp4
等等。如何使用 shell 移动这些文件,以便名称为file1.mp4
, file2.mp4
等等。我有大约 30 个文件想要移动到新名称。
I like mmv http://manpages.ubuntu.com/manpages/stable/en/man1/mmv.1.html对于这种事情
mmv 'linux_*' '#1'
但你也可以使用rename
。请注意,通常有两种rename
语法非常不同的命令。一个是用 Perl 编写的,另一个是用 util-linux 发布的,所以下面我将它们区分为“perl rename”和“util rename”。
使用 Perl 重命名:
rename 's/^linux_//' linux_*.mp4
正如茨维斯克正确指出的那样。
使用 util 重命名:
rename linux_ '' linux_*.mp4
你怎么知道你有哪个重命名?尝试跑步rename -V
;如果您的版本是 util rename ,它将打印版本号,如果是 perl rename ,它将无害地报告和未知选项并显示用法。
如果你都没有rename
or mmv
并且不想或无法安装它们,您仍然可以使用普通的旧 shell 代码来完成此操作:
for file in linux_*.mp4 ; do mv "$file" "${file#linux_}" ; done
此语法适用于任何符合 XPG4 或更高版本的 POSIX sh,这基本上是当今的所有 shell。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)