Depuis seulement votre shell interactif sait sur les alias, pourquoi ne pas simplement lancer l'alias sans bifurquer par xargs
?
find . -iname '.#*' -print0 | while read -r -d '' i; do foobar "$i"; done
Si vous êtes sûr que vos noms de fichiers n'ont pas de retours à la ligne dans les (ick, pourquoi le feraient-ils?), vous pouvez simplifier cette à
find . -iname '.#*' -print | while read -r i; do foobar "$i"; done
ou même juste find -iname '.#*' | ...
, depuis le répertoire par défaut est .
et l'action par défaut est -print
.
Une autre solution de rechange:
IFS=$'\n'; for i in `find -iname '.#*'`; do foobar "$i"; done
dire Bash que les mots ne sont que diviser sur les retours à la ligne (par défaut: IFS=$' \t\n'
). Vous devez être prudent avec cela, bien que certains scripts ne pas faire face à un changement de l' $IFS
.