Nueva columna cada vez que ejecuto el script

Nueva columna cada vez que ejecuto el script

tengo un problema. Quiero crear un script bash que escriba datos en una nueva columna cada vez que ejecuto el script. Por ejemplo, cada semana compruebo cuántos archivos tengo en cada carpeta.

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

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

Ejecuto el script todos los lunes, pero no quiero sobrescribir datos. Necesito que los nuevos datos estén en una nueva columna.

Por ejemplo:

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

Respuesta1

#!/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

Respuesta2

Puede tener una salida de esta manera.

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

Este es sólo un ejemplo. Puedes modificarlo a tu manera.

información relacionada