Acrescentar coluna a um texto que muda / atualiza dinamicamente

0

Eu tenho o script abaixo escrito.

#!/bin/bash
read -p "Enter your SR number : " SR
echo -e "$SR\t$(date +"%Y-%m-%d")" >> /tmp/cases.txt

awk 'BEGIN{printf("%-5s%-20s%-20s\n","#","Case Number","Date Opened")}{printf("%-5s%-20s%-20s\n",NR,$1,$2,$3)}' /tmp/cases.txt

A saída disso no arquivo cases.txt é

[root@centOS ~]# cat /tmp/cases.txt
1234567890      2017-03-24
2345678901      2017-03-24

Mas a saída do script é:

#    Case Number         Date Opened
1    1234567890          2017-03-24
2    2345678901          2017-03-24

Se eu tentar anexar a saída do awk ao arquivo cases.txt, ela imprimirá os nomes das colunas toda vez que eu executar o script.

Meu objetivo é que este script seja destinado a manter um controle de todos os casos recebidos. O script será executado toda vez que um novo caso for aberto. E atualiza o arquivo cases.txt. Eu gostaria que o arquivo cases.txt tivesse # Caso Número e Data aberto colunas, onde # é incrementado toda vez que um novo valor entra. Isso funciona parcialmente com o script acima, mas não da maneira que eu quero.

Qualquer ajuda por favor? Obrigado

    
por suhas savkoor 24.03.2017 / 12:10

1 resposta

1
f='/tmp/cases.txt'
[ -s "$f" ] || printf '%s\t%s\t%s\n' '#' 'Case Number' 'Date Opened' > "$f"
n=$(wc -l < "$f")
read -p "Enter your SR number: " SR
printf '%d\t%d\t%s\n' "$n" "$SR" "$(date)" >> "$f"
    
por 24.03.2017 / 12:27

Tags