ファイルが1、2個ならデスクトップでやるけど、10個くらいになってくると面倒だし間違いそうなので1発でガッとファイルをリネームしたかった。
sed
とパイプを使って:
for a in *; do b=`echo "${a}" | sed -e "s/^/prefix-/"`; mv "${a}" "${b}"; done
でファイルの先頭に prefix-
という文字列を追加してる。
読みやすくすると:
for a in *; do # カレントディレクトリのファイル一覧を取得
b=`echo "${a}" | sed -e "s/^/prefix-/"` # sed で `prefix-` という文字列を追加
mv "${a}" "${b}" # 移動
done
sed の置換は vim と同じなので sed 初めて使ったけどサクッとできた。
追記:
コメントでもっとシンプル + 安全にやる方法を教えていただきました。
for a in * ; do
mv -i "${a}" "prefix-${a}"
done
ディレクトリを除外したい場合は、
> ```bash
for a in * ; do
[ -f "${a}" ] && mv -i "${a}" "prefix-${a}"
done
とするといいようです。