[英]Batch rename with command line
我有一些文件: file1.txt
, file2.txt
,我想这样重命名它们: file1.something.txt
和file2.something.txt
我寻找了一些类似的问题,我想出了这个问题:
for i in file*.txt; do echo mv $i file*.something.txt; done
但不幸的是输出是:
mv file1.txt file*.something.txt
mv file2.txt file*.something.txt
因此,仅创建1个文件。 可以请人帮忙吗? (我使用的是Macbook air,不确定是否与此有关)非常感谢
尝试这个 :
rename -n 's/\.txt/something.txt' *
(在测试正常时,删除-n开关)
如果您运行以下命令( GNU
)
$ file "$(readlink -f "$(type -p rename)")"
结果是
.../rename: Perl script, ASCII text executable
并且不包含:
ELF
那么这似乎是正确的工具=)
如果不是这样,请将其设置为Debian
和类似Ubuntu
派生类的默认设置(通常已经是这样):
$ sudo update-alternatives --set rename /path/to/rename
(将/path/to/rename
替换为perl's rename
命令的路径。
如果您没有此命令,请搜索软件包管理器以进行安装或手动执行
最后但并非最不重要的一点是,该工具最初是由Perl的父亲Larry Wall编写的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.