小编DNN*_*NNX的帖子

如何拆分标准输出以转到多个输出文件?

说,我有一个命令command可以将大量行打印到标准输出:

line1
line2
.....
lineN
Run Code Online (Sandbox Code Playgroud)

我想将输出保存到磁盘,但不是作为单个文件,而是作为一个文件序列,每个文件都有 1000 行标准输出:

file0001.txt:
-------------
line1
....
line1000

file0002.txt:
-------------
line1001
....
line2000

etc
Run Code Online (Sandbox Code Playgroud)

我试图用谷歌搜索答案,但每次谷歌都指向我tee命令,这在这种情况下是无用的。可能,我输入了错误的查询。

text-processing

14
推荐指数
1
解决办法
1万
查看次数

如何为shell任务创建有界队列?

我有 1000 个要排序的 gzip 文件。

按顺序执行此操作,该过程看起来非常简单:

find . -name *.gz -exec zcat {} | sort > {}.txt \;
Run Code Online (Sandbox Code Playgroud)

不确定上面的代码是否有效(如果我在某处做错了,请纠正我),但我希望你理解这个想法。

无论如何,我想并行化 ungzip/sort 作业,以使整个过程更快。另外,我不想看到所有 1000 个进程同时运行。拥有一些具有可配置容量的有界作业队列(如 Java 中的 BlockingQueue 或 .NET 中的 BlockingCollection)会很棒。在这种情况下,只有 10 个进程会并行运行。

是否可以在 shell 中执行此操作?

command-line shell find sort parallelism

5
推荐指数
1
解决办法
2481
查看次数

标签 统计

command-line ×1

find ×1

parallelism ×1

shell ×1

sort ×1

text-processing ×1