command1 |
xargs sh -c 'for p do [ -f "$p" ] && printf "%s\n" "$p"; done' sh |
xargs command 2
O bit extra no meio é uma outra invocação xargs
de um script curto que basicamente apenas faz um loop sobre seus argumentos de linha de comando e imprime os nomes de caminho que correspondem aos arquivos regulares existentes (ou links simbólicos para arquivos regulares). Esses nomes de caminho existentes são então passados para a última parte do pipeline.
Isso pressupõe que todos os nomes de caminho estão livres de novas linhas, espaços e tabulações incorporadas.