Primeiro, a opção iname significa algo diferente: de acordo com o Manual ,
-iname pattern
Like -name, but the match is case insensitive
No entanto, o padrão que você forneceu é para uma correspondência exata . Se você quiser encontrar uma correspondência para cada arquivo que começa com zero1 (caso em sensível), você deve usar:
find . -iname 'zero1*'
(não é necessário usar maiúsculas, já que a correspondência não diferencia maiúsculas de minúsculas): o asterisco garante que haverá uma correspondência para qualquer arquivo que comece com zero1 (não diferencia maiúsculas de minúsculas).
Em segundo lugar, a cláusula exec deve ser escrita da seguinte forma:
find . -iname 'zero1*' -exec sh -c 'readlink -f $0 | tee Zero1.txt' {} \;
Ou
find . -iname 'zero1' -exec sh -c 'readlink -f $0 | tee -a Zero1.txt' {} \;
A cláusula exec deve (quase) sempre ser terminada por \; , e a invocação sh -c '...' é necessária para evitar que o shell quebre o cano; por último, a correspondência {} - > $ 0 é necessário para passar argumentos para um comando rodeado por '...' , porque, mais uma vez, o shell não interpreta os comandos dentro dos apices, portanto não pode substituir o real nome do arquivo para {} . Assim, precisamos passar o nome do arquivo para o '...' commnad por meio de um caminho externo.
Por favor, deixe-me saber se a mensagem de erro referente a readlink persiste após essa tentativa.