Suponga que tiene un archivo llamado foo&bar
. xargs
ahora ejecutará el comando
sh -c 'echo -e $(find foo&bar | wc -l) foo&bar'
Eso ejecuta echo
y find
en segundo plano, y dos copias de bar
. Del mismo modo para foo;bar
y $(bar)
.
No use {}
en el argumento de sh -c
, en su lugar, proporcione el nombre del archivo como un argumento separado, es decir,
... |xargs sh -c 'echo -e $(find "$1" | wc -l) "$1"' sh {} |...
Además, podría usar find -exec
en lugar dexargs
:
find -type d -exec sh -c 'echo...' \;
Tampoco estoy exactamente seguro de si el sort
es necesario, si ejecuta grep
para encontrar líneas con números particulares de todos modos.