Isso é ruim, por todas as razões simples xargs
é ruim, ou seja, quebra com nomes de arquivos contendo espaços em branco ou barras invertidas:
$ touch "foo bar"
$ echo * | xargs -n1 echo
foo
bar
Além disso, ele executa uma cópia do comando (% external)echo
para cada arquivo.
Na maioria dos shells, você pode usar printf "%s\n" *
para obter a listagem. Ou ls -1
.
No entanto, a questão é: o que você deseja fazer com a lista de arquivos? Basta olhar para eles ou usá-los em um script? Para o último, você provavelmente é melhor usar
for f in * ; do something with "$f" ; done
ou alguma variante de find ... -exec somecmd {} +