Em geral, foo < bar
e < bar foo
são equivalentes no script do bash. A qualquer momento em que < filename
é processado pelo shell, significa que o comando ao qual está associado terá sua entrada padrão proveniente desse arquivo. Nenhum comando extra ou processo está envolvido com isso; o shell faz isso em si.
A execução de cat filename
lê o conteúdo do arquivo especificado e grava-o na saída padrão. |
entre dois comandos significa conectar a saída padrão do comando esquerdo à entrada padrão do comando correto.
Assim, ambos os seus comandos têm o mesmo efeito de enviar o conteúdo de /proc/uptime
para awk, mas a primeira maneira inicia um processo cat
extra para fazer isso.