Você está destruindo o arquivo antes de lê-lo. Você precisa usar um arquivo temporário ou um utilitário como sponge
de moreutils .
Você não pode usar find -exec
ou xargs
neste caso. Você precisaria passar um shell para um único argumento contendo os comandos e o nome do arquivo. xargs
e find
esperam que o marcador de nome de arquivo (que eles substituem com o nome do arquivo) seja um argumento independente. Você pode usar um loop.
Com um arquivo temporário:
find | while read file ; do
git stripspace < "$file" > tempfile
mv -f tempfile "$file"
done
com sponge
:
find | while read file ; do
git stripspace < "$file" | sponge "$file"
done