mirror of https://github.com/CrimsonTome/tldr.git
28 lines
686 B
Markdown
28 lines
686 B
Markdown
# GNU Parallel
|
|
|
|
> Run commands on multiple CPU cores.
|
|
|
|
- Gzip several files at once, using all cores:
|
|
|
|
`parallel gzip ::: {{file1}} {{file2}} {{file3}}`
|
|
|
|
- Read arguments from stdin, run 4 jobs at once:
|
|
|
|
`ls *.txt | parallel -j4 gzip`
|
|
|
|
- Convert JPG images to PNG using replacement strings:
|
|
|
|
`parallel convert {} {.}.png ::: *.jpg`
|
|
|
|
- Parallel xargs, cram as many args as possible onto one command:
|
|
|
|
`{{args}} | parallel -X {{command}}`
|
|
|
|
- Break stdin into ~1M blocks, feed each block to stdin of new command:
|
|
|
|
`cat {{bigfile.txt}} | parallel --pipe --block 1M {{command}}`
|
|
|
|
- Run on multiple machines via SSH:
|
|
|
|
`parallel -S {{machine1}},{{machine2}} {{command}} ::: {{arg1}} {{arg2}}`
|