ファイルをまとめてリネームするためのシェルスクリプト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' | 
