SC2011
Michael Diamond edited this page Feb 22, 2020
·
3 revisions
Use find -print0 or find -exec to better handle non-alphanumeric filenames.
Problematic code:
ls | xargs -n1 wc -wCorrect code:
find . -maxdepth 1 -print0 | xargs -0 -n1 wc -wfind . -maxdepth 1 -exec wc -w {} \;Rationale:
Using -print0 separates each output with a NUL character, rather than a newline, which is safer to pipe into xargs. Alternatively using -exec avoids the problem of piping and parsing filenames in the first place.
See SC2012 for more details on this issue.