O -I requer um marcador de posição definido. A opção -i assumirá {} é o marcador de posição. Foi aqui que encontrei qualquer suposição de {} em man xargs pelo menos em Cygwin e CentOS.
xargs chamados sem nenhuma das opções não precisam do marcador de posição e apenas anexam o STDIN ao final dos argumentos.
Basta adicionar echo aos seus exemplos para ver o que o xargs está fazendo:
$ ls -1
Hello World/
Seu exemplo erroneamente usa {} :
$ ls -1 | xargs echo file {}
file {} Hello World/
, então o file cmd vê argumentos de {} Hello World e erros.
Se você quiser usar explicitamente {} em sua chamada xargs:
$ ls -1 | xargs -i echo file {}
file Hello World/
Ou sem espaço reservado:
$ ls -1 | xargs echo file
file Hello World/
xargs como chamado acima não precisa do {}. Acrescenta o STDIN ao final do comando sem um espaço reservado. O uso de {} geralmente significa que você quer que o STDIN esteja em algum lugar no meio do cmd para executar, como em:
$ ls -1 | xargs -i mv {} /path/to/someplace/.