Skip to content
koalaman edited this page Jun 8, 2014 · 7 revisions

Use 'find -print0 | xargs -0' or find -exec + to allow for non-alphanumeric filenames.

Problematic code:

find . -type f | xargs md5sum

Correct code:

find . -type f -print0 | xargs -0 md5sum

Rationale:

By default, xargs interprets spaces and quotes in an unsafe and unexpected way. Whenever it's used, it should be used with -0 or --null to split on \0 bytes, and find should be made to output \0 separated filenames.

Contraindications

None.

Clone this wiki locally