gpt4 book ai didi

linux - Bash:如何遍历目录结构并执行命令?

转载 作者:IT王子 更新时间:2023-10-29 00:17:11 29 4
gpt4 key购买 nike

我已将一个大文本文件拆分为多个较小的文件集,以进行我正在进行的性能测试。有很多这样的目录:

/home/brianly/output-02 (contains 2 files myfile.chunk.00 and myfile.chunk.01)
/home/brianly/output-04 (contains 4 files...)
/home/brianly/output-06 (contains 6 files...)

请务必注意,每个目录中的文件数量都在增加。我需要做的是对输出目录中的每个文本文件运行一个可执行文件。针对单个文件的命令看起来像这样:

./myexecutable -i /home/brianly/output-02/myfile.chunk.00 -o /home/brianly/output-02/myfile.chunk.00.processed

这里的-i参数是输入文件,-o参数是输出位置。

在 C# 中,我会遍历目录以获取每个文件夹中的文件列表,然后遍历它们以运行命令行。如何使用 bash 遍历这样的目录结构,并根据位置和该位置中的文件使用正确的参数执行命令?

最佳答案

对于这种事情,我总是将 findxargs 一起使用:

$ find output-* -name "*.chunk.??" | xargs -I{} ./myexecutable -i {} -o {}.processed

现在,由于您的脚本一次只处理一个文件,因此直接使用 -exec(或 -execdir)和 find,就像已经建议,同样有效,但我习惯于使用 xargs,因为它通常在一次处理多个参数的命令时效率更高。因此,它是随身携带的非常有用的工具,因此我认为应该提及它。

关于linux - Bash:如何遍历目录结构并执行命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1003528/

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