O comando a seguir lista as linhas em list_file que contêm o nome de um arquivo de imagem:
<list_file xargs -d \n file -i | sed -n 's!: *image/[^ :]*$!!p'
-
file -i FOOobserva os primeiros bytes deFOOpara determinar seu formato e imprime uma linha comoFOO: image/jpeg(-isignifica mostrar um tipo MIME; é específico do arquivo GNU encontrado no Linux). -
xargs -d \nlê uma lista de arquivos (um por linha) da entrada padrão e aplica o comando subsequente a ela. (Isso requer GNU xargs como encontrado no Linux; em outros sistemas, deixe de fora-d \n, mas a lista de arquivos não pode conter\'"ou espaço em branco). - O comando
sedfiltra o sufixo: image/FOOpara exibir apenas os nomes dos arquivos. Ele ignora as linhas que não correspondem aos arquivos de imagem.