Redirecionamento de arquivos no bash

1

Qual é a diferença entre usar o > e > >?

Como posso usar os dois < e > (operadores de redirecionamento) em um único comando?

    
por Tallow 03.09.2010 / 16:49

3 respostas

2

> redireciona os dados de stdout (leia a saída padrão) para um arquivo.

ls -a > my-files.txt

pegará a saída de ls -a e a colocará em um arquivo chamado my-files.txt excluindo / sobrescrevendo o arquivo, se existir. Usar >> em vez de > no exemplo acima não sobrescreverá o arquivo se ele existir, mas adicionará a saída de ls -a ao final de my-files.txt

< , por outro lado, envia dados para um programa stdin (read standard in). Se eu tiver um arquivo chamado my-files.txt e eu quiser saber quantas palavras ele contém, posso enviá-lo para um programa chamado wc . Este programa aceita dados no seu stdin so para os dados que eu faço

wc -w < my-files.txt

E por último, se eu quiser salvar a saída desse comando para um novo arquivo, posso usar os dois como assim

wc -w < my-files.txt > wordcount.txt

    
por 03.09.2010 / 17:52
0
0

>> significa apenas acrescentar / criar se não existir , muito útil para registros.

<< também existe e é útil. Experimente:

$ cat > a <<EOF
some text here
more text
EOF

$ cat a

Você vê que o arquivo a contém texto entre dois EOF .

    
por 22.08.2013 / 11:06