ファイル/ディレクトリ名に空白が入っているファイル/ディレクトリの空白を下線_に置換するワンライナー

ある方とやりとりしているなかで、Linuxにおいて、ファイル名に空白が入っているときにその空白を_に変換するスクリプトを紹介していただきました。

そういうのを知っているのは大事だなと思いまして、シンプルな方法がないかなと考えました。

そうしたら、renameを使えば比較的簡単に達成できることに気づきました。

以下は、カレントディレクトリ内にあるファイル/サブディレクトリ名に空白が入っているものを探し出し、空白を_に変換します。

$ find . -name "* *" | rename 's/ /_/g'

これを使えば空白の問題からおさらばできますね。

ちなみにrenameはsedと同じフォーマットでファイル名の一部を変更できます。

‘s/変換前の文字列/変換後の文字列/g’ で最後のgがあるとそのファイル名で合致するパターンすべてに対して変換してくれます。gがないと最初のパターンだけで置換を行います。

いろいろ教えてくれる方がいるのはとてもありがたいですね。

 

Print Friendly, PDF & Email

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください