나는 다음 스크립트를 작성했습니다.
#!/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
Case.txt 파일의 출력은 다음과 같습니다.
[root@centOS ~]# cat /tmp/cases.txt
1234567890 2017-03-24
2345678901 2017-03-24
그러나 스크립트의 출력은 다음과 같습니다.
# Case Number Date Opened
1 1234567890 2017-03-24
2 2345678901 2017-03-24
Cases.txt 파일에 awk 출력을 추가하려고 하면 스크립트를 실행할 때마다 열 이름이 인쇄됩니다.
내 목표는 이 스크립트를 사용하여 들어오는 모든 사례를 추적하는 것입니다. 이 스크립트는 새 케이스가 열릴 때마다 실행됩니다. Cases.txt 파일을 업데이트합니다. Cases.txt 파일을 원합니다# 사례 숫자그리고날짜 열려 있는열, 여기서#새로운 값이 발생할 때마다 증가됩니다. 이 부분은 위의 스크립트와 작동하지만 내가 원하는 방식은 아닙니다.
도움이 필요하세요? 감사해요
답변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"