有助于翻译多个文件名的程序/命令

用户名

我有数百个具有不同名称的文件,我想将其翻译成另一种语言。

是否有应用程序/ CLI操作允许我复制列表/表中的所有这些名称,然后在翻译它们之后将其粘贴回列表/表中,或者允许执行类似于“重命名”在Thunar中进行,但操作更接近我所描述的内容?

(我在Lubuntu,由于不希望对LXDE / pcmanfm桌面和LXPanel造成干扰,所以我不建议使用Nautilus。如果Nautilus中有解决方案,请提供它,但如果可能的话,请尝试使用其他方法。

用户名

下面的脚本受到了此处不同讨论的启发,使用translate-bin,是此相关问题中的精选程序,并一次性翻译和重命名了文件。它适合一次性批量翻译和重命名数百个文件。首先使用以下命令从存储库中安装必要的程序:

sudo apt-get install libtranslate0 libtranslate-bin

该脚本当前设置为重命名带有扩展名的任何文件.txt,但它将与您可能需要的任何文件一起使用:只需将.txtto的所有实例更改.jpg.mp4或将其转换为所需的任何文件即可。

目前已将该脚本设置为将文件名从德语(de)转换为法语(fr),但是您可以选择-s所使用的服务(支持的任何语言;例如,由于该翻译服务目前是Google,因此提供了多种语言。

打开文本编辑器,保存文件,然后使用使其可执行chmod u+x myscript

#!/bin/bash

for i in *.txt
do 
    mv -i "$i" "$(echo ${i%.txt} | translate-bin -s google -f de -t fr).txt"; 
done

您可以将脚本放置在带有目标文件的文件夹中,然后执行它,或者将其放置在您的~/bin文件夹中,然后使用terminalcd转到包含文件的文件夹,并使用您指定的名称调用脚本。有关bin文件夹的更多信息,请在此处查看我的答案

这是打开终端并cd转到目标文件夹的示例

在脚本运行之前,ls用德语返回dog and cat:

Hund.txt  Katze.txt

并且在终端中使用执行了脚本之后,法语./scriptname的输出ls为dog and cat:

Chien.txt Chat.txt

最好在使用脚本之前先备份文件,但是如果sgghdsgsh.txt找到无效的翻译目标(例如),则无论设置哪种语言,脚本都不会执行任何操作。但是,为防止它覆盖文件,我们可以添加-imv:如果单击并运行并且目标文件存在,则不会发生任何事情,但是如果脚本在带有的终端中运行./script,则将要求您确认:

mv: `Cat.txt' and `Cat.txt' are the same file                                  
mv: overwrite `Cat.txt'? n  

我认为没有必要在脚本中进行任何其他检查,因此应该令人满意。

有关该程序的更多选项,请访问man translate在线获取Ubuntu手册

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有助于Google翻译的API

来自分类Dev

与流有助于消除从文件扩展名

来自分类Dev

哪些AT命令将有助于获取SIM数据?

来自分类Dev

使服务器文件名模棱两可是否有助于提高安全性?

来自分类Dev

序列化有助于将霍夫曼树存储到文件中

来自分类常见问题

索引是否有助于sql选择排序性能?

来自分类Dev

基本的JavaScript对象结构有助于访问属性

来自分类Dev

线程有助于提高Java的效率吗?

来自分类Dev

TSQL查询有助于结构化结果

来自分类Dev

流浪汉如何有助于发展

来自分类Dev

索引是否有助于sql选择排序性能?

来自分类Dev

哪些属性有助于LCD面板的质量?

来自分类Dev

合并有助于SQL中聚合的值

来自分类Dev

TSQL查询有助于结构化结果

来自分类Dev

数组as3冲突有助于编码

来自分类Dev

Eclipse内容有助于Gradle依赖性

来自分类Dev

Eclipse RCP:这是否有助于片段项目

来自分类Dev

Redis复制是否有助于负载均衡?

来自分类Dev

线程化有助于提高Java的效率吗?

来自分类Dev

哪些方法有助于改善无线信号?

来自分类Dev

硬件是否有助于减少OS X的崩溃?

来自分类Dev

AsyncController方法声明,有助于理解语法

来自分类Dev

if语句有助于控制无人机

来自分类Dev

启用引导内容有助于日食

来自分类Dev

TLP是否真的有助于延长电池寿命?

来自分类Dev

制作有助于故障诊断的功能

来自分类Dev

xtext,内容有助于不必要的建议

来自分类Dev

嵌套循环是否有助于解析结果

来自分类Dev

在多个容器中存储数据时,Java 的参考系统是否有助于节省内存?