まいこーmemog

生きづらいとき人の言葉で生き返るので,自分も言葉にしてみる.[memo+blog]

ファイル名を一気に置換する(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オプションをつけましょう.

わかりましたか,未来の自分.