背景
adobe xdよりpngでweb指定で画像を書き出した際に hogehoge@2x.png
となってしまうので@2x
を削除してhogehoge.png
としたい
今回作成したシェルスクリプト
#!/bin/bash
for before_name in `find ./ -type f -name '*@2x*'` ; do
after_name=`echo ${before_name} | sed -E 's/@2x//g'`
mv -i "${before_name}" "${after_name}"
done
シェルスクリプトの内容
!/bin/bash
シェルスクリプトでbashを使う際のおまじない
ループ式
for before_name in `find ./ -type f -name '*@2x*'`;
do
# ループで処理したい内容
done
in
以降の処理
find ./ -type f -name '*@2x*'
で該当するファイル名がbefore_nameに格納される
ループは上記の処理で該当するファイル数だけ実行される
ループの中身
after_name=`echo ${before_name} | sed -E 's/@2x//g'`
mv -i "${before_name}" "${after_name}"
echo
で先ほどのループ式で該当したファイル名を出力し、sed
コマンドによって特定の文字を空文字に置換している
その後、置換した文字列を新しいファイル名としてmv
コマンドによって書き換えを行う