スペースをアンダースコアに変更するには、ファイル名を変更します。

スペースをアンダースコアに変更するには、ファイル名を変更します。

MS Windowsで生成された名前にスペースを含むファイル(mp3、wav、txt、doc)がたくさんあります。例えばThe file of whoever.doc

スペースを下線またはドットに変更して、一度に名前を変更したいと思います。

ベストアンサー1

シェルはこれを簡単に実行できます(これはオペレータがksh93、zsh、bash、mksh、yash、または(一部のバージョン)busybox shを使用していると仮定します${var//pattern/replacement}):

for file in *.doc *.mp3 *.wav *.txt
do
  mv -- "$file" "${file// /_}"
done

*.doc名前を変更したいファイルと一致するように... globを変更します。

現在のファイル名にスペースが含まれている現在のディレクトリのすべてのファイル名を変更するには:

for file in *' '*
do
  mv -- "$file" "${file// /_}"
done

「クローバー」チェックを追加することも検討できます。

for file in *' '*
do
  if [ -e "${file// /_}" ]
  then
    printf >&2 '%s\n' "Warning, skipping $file as the renamed version already exists"
    continue
  fi

  mv -- "$file" "${file// /_}"
done

または、ファイルを上書きする前にユーザーにメッセージを表示するオプションをmv使用してください。-i

おすすめ記事