saf*_*fsd 4 shell gnu-parallel
我正在尝试将许多巨大的 gz 文件分割成 N 行压缩的 gzip 块。
为了演示,让我们考虑以下内容:
seq 100 | gzip > big_file0.gz
Run Code Online (Sandbox Code Playgroud)
我可以将其分成多个 10 行压缩文件,如下所示:
zcat big_file0.gz | split -l 10 --filter='gzip > $FILE.gz' - big_file0.
Run Code Online (Sandbox Code Playgroud)
让我们假设我们有许多大文件big_file0.gz,big_file1.gz...
我现在想使用 GNU 并行分割这些文件中的每一个。这是我想出的命令:
parallel "zcat {} | split -l 10 --filter='gzip > $FILE.gz' - {.}." ::: big_file0.gz big_file1.gz
Run Code Online (Sandbox Code Playgroud)
但是,外壳替换 并$FILE没有按预期工作。$FILE被替换为空字符串,因此所有输出都写入名为.gz.
如何让$FILE替换在 GNU 并行中按预期工作?
| 归档时间: |
|
| 查看次数: |
4782 次 |
| 最近记录: |