ある方とやりとりしているなかで、Linuxにおいて、ファイル名に空白が入っているときにその空白を_に変換するスクリプトを紹介していただきました。
そういうのを知っているのは大事だなと思いまして、シンプルな方法がないかなと考えました。
そうしたら、renameを使えば比較的簡単に達成できることに気づきました。
以下は、カレントディレクトリ内にあるファイル/サブディレクトリ名に空白が入っているものを探し出し、空白を_に変換します。
$ find . -name "* *" | rename 's/ /_/g'
これを使えば空白の問題からおさらばできますね。
ちなみにrenameはsedと同じフォーマットでファイル名の一部を変更できます。
‘s/変換前の文字列/変換後の文字列/g’ で最後のgがあるとそのファイル名で合致するパターンすべてに対して変換してくれます。gがないと最初のパターンだけで置換を行います。
いろいろ教えてくれる方がいるのはとてもありがたいですね。
ピングバック: ファイル名の空白をアンダーバーで置き換える(成功) – –CIPHER– IT部
ピングバック: ファイル名の空白をアンダーバーに置き換える – –CIPHER– IT部
ピングバック: findとrenameでないとダメみたい? – –CIPHER– IT部