BLU Discuss list archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Discuss] GNU xargs trick
- Subject: [Discuss] GNU xargs trick
- From: richard.pieri at gmail.com (Rich Pieri)
- Date: Wed, 27 Apr 2016 10:25:55 -0400
There is a trick to GNU xargs that lets you easily parallelize processes. The particular use I discovered is for optimizing directories full of PNG files using optipng. I first looked at GNU parallel but it's way overkill for what I want. I found a couple of scripts that do some tricks with & and lock files but those ran into problems with complex-ish commands. Then I learned about the xargs trick: find . -name "*.png" -print | xargs -I{} -P 4 optipng -o1 -preserve {} The find part should be obvious, xargs maybe not so much. -I enables substitution. Whenever the string following -I appears it is replaced with the the line from stdin. -P 4 says to run a maximum of 4 processes; the default is 1. Everything after is the optipng command with {} replaced with each line from the find command. I dunnow if this has ever come up on the list but it's been quiet lately and I figured it's a cool enough trick to share. -- Rich P.
- Follow-Ups:
- [Discuss] GNU xargs trick
- From: mbr at arlsoft.com (MBR)
- [Discuss] GNU xargs trick
- From: dbarrett at blazemonger.com (Daniel Barrett)
- [Discuss] GNU xargs trick
- Prev by Date: [Discuss] Permission denied
- Next by Date: [Discuss] GNU xargs trick
- Previous by thread: [Discuss] Fw: new message
- Next by thread: [Discuss] GNU xargs trick
- Index(es):