繁体   English   中英

使用命令行批量重命名

[英]Batch rename with command line

我有一些文件: file1.txtfile2.txt ,我想这样重命名它们: file1.something.txtfile2.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM