ファイル名を一気に置換する(Mac)
卒論に殺されそうなまいこーです,こんにちは.
卒論といえば,ファイル管理ですよね!!知らんけど.
現在毎日,texファイル複数個とkeynoteを更新しつつ日付ごとに作業経過を残してます.
texは中間生成物できたり,ファイル切り分けてたりするんでコピーしてリネームしてが面倒臭い.
ということで,ターミナル上でのコマンド備忘録です.
例えば本日2019年02月12日に昨日の「20190211○△□」ファイルを「20190212○△□」と変更したい場合は次のように書きます.
# for f in 20190211*; do mv $f ${f/20190211/20190212}; done
簡単な日本語訳をすると「fってのを20190211なんたらってファイルにしますね(for f in 20190211*;),そのfの20190211の部分を20190212に変えましょう(do mv $f ${f/20190211/20190212};)」みたいな感じでしょう.
ちなみに「*」はワイルドカードと言って,「なんたら」の部分です.
20190211_vol1.texとか20190211_vol2.texとか複数個あったら指定ややこしいので共通部分以外「*」で置換すればおっけーです.
コピーに関しては,ディレクトリ丸ごとコピーしようとすると「cp」コマンドをいつも通り使うだけではダメなので,
# cp -r 20190211/ 20190212/
のように-rオプションをつけましょう.
わかりましたか,未来の自分.