Após a discussão nos comentários e olhando para a questão relacionada referenciada no meu, uma maneira de usar novas linhas em -name
é usar a nova linha literal como em:
$ find -type f -name '*
> *'
Outra é via substituição de comando:
$ find -name "$(printf '*\n*' )"
./with?newline
$ ls
another execve with?newline
Mas cuidado com a definição POSIX , a substituição de comando é realizada por shell com "... removendo sequências de um ou mais caracteres no final da substituição ". Isso é algo como:
find -type f -name '*'"$(printf '\n')"'*'
falha e passa **
na lista de argumentos em vez de *[newline]*
como se fosse
pense.
As novas linhas finais na substituição de comandos podem ser tratadas de várias maneiras, conforme mostrado em shell: mantenha as novas linhas ('\ n' ) na substituição do comando .