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"
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
Tags shell