Substituição no local para o comando paste [duplicate]

1

Quando eu corro o seguinte código

echo '1' > file.txt
echo '2' | paste file.txt - > file.txt

Espero que o conteúdo de file.txt seja 1 2 , porque o comando paste , como o nome sugere, deve colocar as duas cadeias simplesmente lado a lado. No entanto, é apenas 2 .

Alguém poderia me indicar diagnósticos adicionais para executar o problema.

    
por Penguin Nurse 20.04.2015 / 17:28

1 resposta

3

O redirecionamento para file.txt no final do seu comando paste está truncando seu arquivo antes que paste tenha a chance de lê-lo.

Tente

echo 2 | paste file.txt - > file2.txt

ou se você tiver sponge instalado

echo 2 | paste file.txt - | sponge file.txt
    
por 20.04.2015 / 17:32