질문이 있습니다. 스크립트를 실행할 때마다 새 열에 데이터를 쓰는 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
이것은 단지 예일 뿐입니다. 자신만의 방식으로 수정할 수 있습니다.