Imprime o conteúdo do arquivo e exclui o conteúdo impresso * do arquivo

2

No Linux, a partir de um shell bash, como posso imprimir o conteúdo de um arquivo e remover o conteúdo que acabei de imprimir conteúdo do arquivo?

Eu tenho um programa escrevendo textos em um arquivo repetidamente. Em um prompt do shell Linux, quero imprimir o conteúdo do arquivo e, em seguida, excluir o conteúdo impresso do arquivo. Eu quero fazer isso repetidamente, para tornar o tamanho do meu arquivo pequeno o suficiente.

Temos linhas de comando ou combinações do bash para fazer isso?

    
por kolar 27.03.2015 / 03:26

2 respostas

1

I want to print the contents of the file and then delete printed contents from the file

lpr file && truncate -s0 file
    
por 27.03.2015 / 03:36
-2

Para um arquivo normal, você pode fazer:

while [ -s /path/to/file ] &&
      exec </path to file
do    dd bs=1k count=1
      dd bs=1k of=/path/to/file
done
    
por 27.03.2015 / 04:48