名前の変更/検索を使用して、ファイルとディレクトリの名前を繰り返し変更します。

名前の変更/検索を使用して、ファイルとディレクトリの名前を繰り返し変更します。

Centos 7を使ってvmwareでLinuxを学び始めました。私はそのフォルダ内に画像ディレクトリと複数のレイヤのファイルとサブディレクトリを作成しました。ほとんどの名前にはスペースが含まれています。 1つのコマンドを使用して、すべてのファイルとディレクトリの名前を一度に変更したいと思います。

今私が使っている命令は

find . -type f -exec rename "find" "replace" {} \;
&
find . -type d -exec rename "find" "replace" {} \;
検索は空白で、代替文字は「-」(ハイフン)です。私はスタック交換に対する答えの1つを見ながら、以下のコマンドを試しました。
find . -iname "find" -exec rename "find" "replace" {} \;

ベストアンサー1

find鼻の下にあるディレクトリの名前を変更することなので-depth

デフォルトのCentOSのインストール時に提供されるツールを使用してファイル名を変更するには、シェルとmv

find . -depth -exec bash -c '
  for filename do
    basename=${filename##*/}
    mv "$filename" "${filename%/*}/${basename// /-}"
  done
' _ {} +

おすすめ記事