gpt4 book ai didi

linux - 以增量方式在一组文件上实现 bash 脚本

转载 作者:太空宇宙 更新时间:2023-11-04 03:33:36 25 4
gpt4 key购买 nike

抱歉,如果这是一个基本问题,但我才刚刚开始,我有点迷失了。我有一组大约 3000 个文件,我想对其运行命令。不幸的是,该命令的程序 (morphadorner) 一次只能运行 8 个文件。文件是连续编号的。如何让程序对每 8 个文件进行迭代,以便处理文件夹中的所有文件?

最佳答案

假设您的文件名为 file01file02...file64,那么您可以使用 GNU Parallel 来处理它们,如下所示:

parallel -j 1 -n 8 echo {1} {2} {3} {4} {5} {6} {7} {8} ::: file*

输出将是这样的:

file001 file002 file003 file004 file005 file006 file007 file008
file009 file010 file011 file012 file013 file014 file015 file016
file017 file018 file019 file020 file021 file022 file023 file024
file025 file026 file027 file028 file029 file030 file031 file032
file033 file034 file035 file036 file037 file038 file039 file040
file041 file042 file043 file044 file045 file046 file047 file048
file049 file050 file051 file052 file053 file054 file055 file056
file057 file058 file059 file060 file061 file062 file063 file064

当然,我只是回显参数,您可能会调用morphadorner

-j 1 表示一次仅运行一个 morphadorner - 如果您有 8 个 CPU 核心,您可能需要忽略这一点并允许一次运行 8 个 morphadorner

-n 8 表示一次使用 8 个参数/文件。

{1} 是第一个参数的占位符,{2} 是第二个参数的占位符,依此类推。

::: 是一个分隔符,告诉 GNU Parallel 接下来是参数。

关于linux - 以增量方式在一组文件上实现 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32380377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com