bash に 2 つのスクリプトがあり、いくつかのファイルがあります。
transaction-2012-01-01.csv.bz2
transaction-2012-01-02.csv.bz2
transaction-2012-01-03.csv.bz2
transaction-2012-01-04.csv.bz2
.
.
transaction-2012-01-31.csv.bz2
transaction-2012-02-01.csv.bz2
.
.
transaction-2012-02-28.csv.bz2
script.sh というスクリプトがあります。
cat script.sh
YEAR_MONTH=$1
FILEPATH="transaction-$YEAR_MONTH*.csv.bz2"
bzcat $FILEPATH|strings|grep -v "code" >> output
スクリプトを呼び出す必要がある場合は、他のスクリプトを使用できます
cat script2.sh
LAST_MONTH=$(date -d -1month +%Y"-"%m)
if [ $# -eq 1 ]; then
DATE=$1
else
DATE=$LAST_MONTH
fi
script.sh $DATE 1>output$DATE.csv 2>> log.txt
そして、1 か月でファイルを cat しますが、今は、1 年の特定の週でスクリプトを呼び出す必要があります。
bash script2.sh 2012-01
ここで、2012 は年、01 は月です。
今、私はスクリプトを呼び出す必要があります:
bash script2.sh 2012 13
ここで、2012 は年、13 は年の週です。
今、ユーザーが指定した年と週のファイルにのみ猫が必要です。月ごと、週ごとではありません
しかし、ファイルのフォーマットは私を助けません!!!! 名前が transaction-year-week.csv.bz2 ではなく、transaction-year-month-day.csv.bz2 であるためです。