手順
1. 「アプリケーション」フォルダから Automator.app を見つけそれを起動。
2. 起動後に以下の様なパネルが表示されるので「アプリケーション」を選択。
3. 左上の検索欄に「スクリプト」と入力し、絞り込みを行う。
4. 右側の領域にshiftキーを押しながらドラッグ&ドロップ。
5. ここでは例として「入力として受け取ったファイル名を元にそのファイル名の末尾に_00〜_10を付けた空ファイルを作る」シェルスクリプトを実行ファイルに変換します。
スクリプトの記述部分には以下の内容をコピペします。
for f in "$@" do num=0 while [ $num -le 10 ] do num_str=0$num append=_${num_str:${#num_str}-2:2} ext=${f#*.} if [ "$f" = "$ext" ] then ext="" else ext=.$ext fi touch "${f%%.*}$append$ext" num=`expr $num + 1` done done
最後にcommad+sで保存するとプログラムが作成されます。
作成されたプログラムにファイルをドラッグすると「入力として受け取ったファイル名を元にそのファイル名の末尾に_00〜_10を付けた空ファイルを作る」という動作が行われているが確認出来ると思います。
なお、このスクリプトではフォルダをドラッグしてもそのフォルダ名を元に空ファイルを作成します。この辺りは是非みなさんの手でフォルダがドラッグされた場合は同様にフォルダを作成する様にバージョンアップしてみて下さい。
作成時のTips
- 実行ファイル化した物の中でエラーが発生しても調査が難しいです。事前に.shファイルなどを作り、そちらで事前にしっかりと動作テストをしましょう。
- どうしても実行ファイルでないと再現されないバグが発生した場合は以下の様に記述してファイルに変数の値を出力する様にしましょう。
echo $check_data >> /tmp/test.txt
※ /tmp/test.txt のパスは必要に応じて分り易いパスを使って下さい。
- 引数として渡されるファイル名は途中にスペースが入ったファイル名の場合も有りえます。必要に応じて "$file" の様に " で囲みましょう。
【参考】
Linuxシェルスクリプトユーザー便利帳 (QUICK MASTER 16)
- 作者: 伊藤幸夫,寒川陽美
- 出版社/メーカー: 秀和システム
- 発売日: 2007/02/28
- メディア: 単行本
- クリック: 3回
- この商品を含むブログ (4件) を見る