序幕: 格式.pgn
是一种文本文件格式,用于记录国际象棋动作以及其他信息,如日期、事件、得分、开局、引擎评估、变化、深度等。此文件格式可以轻松保存为格式,.txt
并可以使用 notepad++ 等打开。当使用来自.pgn
.bin
create.bat
名为“多语言容忍”的项目,它被称为多语言国际象棋书。该程序可以在以下链接中找到,其中有一个小型 README 文件,解释了简单的过程:
https://drive.google.com/drive/folders/1ZQkN2mQwMiLrCoMCpRlGMY-Zq9UrWVmF?usp=sharing
主要问题:我能够.bin
从.pgn
文件格式制作国际象棋书。但问题是我一次只能制作一本书。当我必须转换 2000+ 不同 .pgn
假设我将名为database1.pgn
、、games.pgn
等的文件分别转换为具有相同名称(如、、等)的tournament.pgn
不同.bin
格式的书籍文件,那么我不知道如何做到这一点。database1.bin
games.bin
tournament.bin
我们如何才能批量转换 .pgn
文件.bin
在 Ubuntu 20.10 中格式化吗?
答案1
通晓多种语言可能就是你想要的。
像这样安装:
sudo apt install polyglot
像这样使用它:
for f in *.pgn
do
f1="${f%.pgn}"
polyglot make-book -pgn "$f" -bin "$f1".bin -min-game 1
done
从包含文件的目录中运行上述代码.pgn
。
答案2
如果我理解正确的话,您希望对许多文件运行相同的命令,以将它们从一种格式转换为另一种格式。我无法轻易找出您正在运行的命令,因此我用pgn_to_bin
下面的命令替换了它,我假设它将结果输出到控制台(stdout
)。
在包含文件的目录中的(Bash)shell/终端中运行此命令.pgn
:
for file in *.pgn; do
pgn_to_bin "${file}" > "${file%.pgn}.bin"
done
翻译成英语就是:对于当前目录中以 结尾的每个文件名.png
,执行以下操作:
pgn_to_bin filename_with_pgn_extension > filename_without_pgn_extension.bin
如果你有文件file1.pgn
和file2.pgn
,则会执行:
pgn_to_bin "file1.pgn" > "file1.bin"
pgn_to_bin "file2.pgn" > "file2.bin"
现在您只需调整命令行以匹配您用于转换单个文件的当前进程。
顺便说一下,${file%.pgn}
语法使用Bash 的参数替换.pgn
从输入文件名中删除后缀。