スクリプトを実行するたびに新しい列が表示されます。

スクリプトを実行するたびに新しい列が表示されます。

質問があります。スクリプトを実行するたびに、新しい列にデータを書き込む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

おすすめ記事