経費精算のエクセルファイルを複製し、
ファイル名の日付部分を変更(2週間ずらす)
という単純作業にわりとストレスを感じていたので、自動化
困っていたこと
経費精算のエクセルファイルを複製し、
ファイル名を変更(日付を2週間ずらす)、
という単純作業なんだけど、
月をまたぐと2週間後って暗算できないじゃないですか。
いちいちカレンダーを調べるのにイラッとしていて
何とかしたいと長らく願っていた。
やったこと
全体像
シェルスクリプト部分
たとえば
経費精算200222.xlsx に対してクイックアクションを行うと
経費精算200307.xlsx が生成される
覚え書き(スクリプトとかその他)
- シェルスクリプトの入力の引き渡しは「引数として」
- dt1は、元ファイルの日付部分だけ抽出
- 日付はyyddmmであることが前提
- dt2は、2週間後の日付
- macOSはBSD系なので、date -dやdate --dateが使えない。date -v。これがわからずに意外と苦労した
- cpはわりとオーソドックスに置換
参考リンク
bashの変数展開によるファイル名や拡張子の取得 - Qiita
Automatorにおけるスクリプトの入出力 - Qiita
bashでパラメータ展開を用いて変数を利用する | 俺的備忘録 〜なんかいろいろ〜
shとbashでの変数内の文字列置換など - ろば電子が詰まつてゐる
Mac の bash で date を使って先月の今日の日付を取ろうとしたらハマった | ウェブル
細かい補足をしてQiitaにあげたいと思いつつ
ざっくり記して果てる(パタン……)
環境
MacBook Pro (13-inch, 2016, Four Thunderbolt 3 Ports)
macOS Catalina 10.15.3
Automator バージョン2.10 (492)