Diferença entre 'cat file.txt' e 'echo file.txt' [duplicado]

2

Eu tenho um arquivo chamado file.txt que tem algum conteúdo que diz 'abcdef', quando eu faço cat < file.txt eu recebo a saída abcdef mas quando eu faço echo < file.txt , nenhuma saída é retornada. Por que o redirecionamento de entrada não funciona com o eco, mas funciona com o gato?

    
por GypsyCosmonaut 07.05.2017 / 15:53

2 respostas

5

Você pode usar echo para ler file.txt (para não redirecionar) da seguinte forma:

echo "$(<file.txt)"

Exemplo de saída:

abcdef
    
por 07.05.2017 / 16:09
6

Why doesn't the input redirection work with echo but works with cat?

Como o comando echo não aceita nada de stdin como cat , ele aceita apenas parâmetros.

De man cat :

cat - concatenate files and print on the standard output

Synopsis

cat [OPTION]... [FILE]...

Description

Concatenate FILE(s), or standard input, to standard output.

De man echo :

echo - display a line of text

Synopsis

echo [SHORT-OPTION]... [STRING]...

echo LONG-OPTION

Description

Echo the STRING(s) to standard output.

(ênfase minha)

    
por 08.05.2017 / 08:58