Qual é a diferença entre “” e “”?

11

Qual é a diferença entre ls > e ls >> ? Eu preciso entender isso para minha computação GCSE, mas não sei qual é a diferença.

    
por Helen Schofield 08.12.2014 / 15:39

3 respostas

27

> & amp; >> são operadores de redirecionamento; eles transferem a saída de algo, neste caso ls , em outro lugar. Se essa saída for para um arquivo, > truncará o arquivo, isto é, excluirá qualquer conteúdo anterior, enquanto >> acrescentará novos dados ao final do arquivo, mantendo o conteúdo anterior. Isso funcionará com qualquer entrada, então echo & amp; cat , por exemplo, também pode ser usado dessa maneira.

Também é interessante o operador | , que passa os dados para outro aplicativo - portanto ls | cat -n fornecerá uma listagem numerada por linha!

Pipes é o termo relevante.

    
por Mark Williams 08.12.2014 / 15:49
5

Os símbolos > e >> são usados para redirecionar a saída para um arquivo.

Ambos criarão o arquivo se o arquivo não existir. Se o arquivo já existir, então > sobrescreverá o arquivo onde >> anexará os dados ao arquivo.

Portanto, ls > myfile criará um documento chamado myfile , se ele não existir. Se myfile já estiver presente e contiver alguns dados, eles serão sobrescritos pelos novos dados que você passar.

Considerando que ls >> myfile criará um arquivo se não existir e gravará dados nele. Se o arquivo existir com alguns dados, novos dados serão adicionados ao seu final.

    
por Sudheer 08.12.2014 / 19:02
0

Se você usar um único & gt ;, ele substituirá o arquivo, se já existir. Tenha muito cuidado ao usar este.

Se você usar dois > & gt ;, será apenas acrescentar (em outras palavras, começar a escrever na parte inferior do arquivo), se já existir. Caso contrário, cria um novo arquivo, se não existir.

    
por Eric Larson 09.12.2014 / 12:15