ファイルをまとめてリネームするためのシェルスクリプトpowercp(in bash)
2002-11-28版
既存のファイル file に対して
mv file hogefile
を実行するのみ。
ワイルドカードを使うと、複数個のファイルをいっぺんにリネームできる。
ただ現行ファイル名の頭に文字列をくっつけるだけにすぎない。
まだあまり柔軟性はない。
しかし、リネーム+他のディレクトリへの移動の際には上のhogeのところを特に
/home/username/hoge
のように書けばいい(あまり便利ではないが)。
ソース
#!/bin/bash
for h in $*
do
if [ ! -f "$h" ]; then
echo '***以下のファイルは本当に存在しますか?'
echo $h
exit 1
fi
done
for j in "$*"
do
echo '***以下のファイルについて処理を行います'
echo $j
done
echo ''
echo '***文字列を入れてください'
read i
echo ''
echo '***以下のコマンドを実行します'
for j in $@
do
echo mv $j $i$j
done
echo ''
echo '***よろしいですか? (y/n)'
read k
if [ "$k" = "y" -o "$k" = "Y" ]; then
for j in $@
do
mv -vi $j $i$j
done
else
echo '***中断します'
fi
|
実行例
$ powercp 0*.mpg ***以下のファイルについて処理を行います 01.mpg 02.mpg 03.mpg 04.mpg 05.mpg 06.mpg 07.mpg 08.mpg 09.mpg ***文字列を入れてください 2p_not_so_good ***以下のコマンドを実行します mv 01.mpg 2p_not_so_good01.mpg mv 02.mpg 2p_not_so_good02.mpg mv 03.mpg 2p_not_so_good03.mpg mv 04.mpg 2p_not_so_good04.mpg mv 05.mpg 2p_not_so_good05.mpg mv 06.mpg 2p_not_so_good06.mpg mv 07.mpg 2p_not_so_good07.mpg mv 08.mpg 2p_not_so_good08.mpg mv 09.mpg 2p_not_so_good09.mpg ***よろしいですか? (y/n) y `01.mpg' -> `2p_not_so_good01.mpg' `02.mpg' -> `2p_not_so_good02.mpg' `03.mpg' -> `2p_not_so_good03.mpg' `04.mpg' -> `2p_not_so_good04.mpg' `05.mpg' -> `2p_not_so_good05.mpg' `06.mpg' -> `2p_not_so_good06.mpg' `07.mpg' -> `2p_not_so_good07.mpg' `08.mpg' -> `2p_not_so_good08.mpg' `09.mpg' -> `2p_not_so_good09.mpg' |
