Salve linhas em arquivos diferentes com base na data

3

Como posso forçar uma reavaliação disso todas as vezes?

cat > $(date '+%H-%M-%S').log

Para que, quando eu saio pela primeira vez, algo seja gravado em um arquivo, e depois de alguns segundos eu faço outra saída e ele será salvo em um novo arquivo.

cat simboliza um programa sempre em execução

    
por Markus 03.09.2014 / 12:18

1 resposta

2

Substitui cat por um loop for que emite uma linha por segundo:

for ch in {a..e} ; do echo $ch ; sleep 1 ; done | \
while IFS= read -r line ; do printf '%s\n' "$line" >> $(date +%H-%M-%S) ; done

Eu usei >> em vez de > se mais de uma linha aparecer em um segundo. Talvez seja necessário adicionar o mês + dia para não misturar a saída de dias diferentes.

    
por 03.09.2014 / 12:35