스크립트를 실행할 때마다 새 열이 나타납니다.

스크립트를 실행할 때마다 새 열이 나타납니다.

질문이 있습니다. 스크립트를 실행할 때마다 새 열에 데이터를 쓰는 bash 스크립트를 만들고 싶습니다. 예를 들어 매주 각 폴더에 몇 개의 파일이 있는지 확인합니다.

find /home/user/admin/stuff/ -mtime -7 | wc -l >> results.xls

find /home/user/admin/old/ -mtime -7 | wc -l >> results.xls

매주 월요일마다 스크립트를 실행하지만 데이터를 덮어쓰고 싶지 않습니다. 새 열에 새 데이터가 있어야 합니다.

예를 들어:

Week1 Week2 Week3 ...
  2     3     5
  1     2     3

답변1

#!/bin/bash

output_file=/tmp/results.xls

[ ! -f ${output_file} ] && echo -e "\n\n\n" > ${output_file}
stuff_count=$(find /home/user/admin/stuff/ -mtime -7 | wc -l)
old_count=$(find /home/user/admin/old/ -mtime -7 | wc -l)
now=$(date +%y%m%d)

sed -i "1 s/$/\t$now/" /tmp/out.txt
sed -i "2 s/$/\t$stuff_count/" /tmp/out.txt
sed -i "3 s/$/\t$old_count/" /tmp/out.txt

답변2

이런 식으로 출력을 얻을 수 있습니다.

week="" week=`date` echo $week >> results.xls 
find /home/user/admin/old/ -mtime -7 | wc -l >> results.xls

# cat results.xls
Thu Oct 27 14:16:29 IST 2016
0
2

이것은 단지 예일 뿐입니다. 자신만의 방식으로 수정할 수 있습니다.

관련 정보