web-dev-qa-db-ja.com

Linuxでのファイル名からの特殊文字のバッチ削除

ダウンロードした.pdfのいくつかのファイルからすべての特殊文字を削除しようとしていますが、OS X環境ではありますが、まさに私が探していた解決策に出くわしました。

MacOS Xでの保存中にファイル名から特殊文字を自動的に削除する機能

同様の方法(sedまたはその他の関数を使用)をLinux環境で実装できますか?

5
nitrl

これは、renameコマンドを使用して実行できます。特殊文字を含む.pdfファイルのあるフォルダーにいる場合:

rename 's/[^a-zA-Z0-9]//g' *.pdf

これにより、.pdfで終わるファイルから、いずれの場合もA〜Zでない文字、または数字が削除されます。このリストに追加できます:

rename 's/[^a-zA-Z0-9_]//g' *.pdf

このバージョンでは、アンダースコアを使用できます。

11
Paul

ファイル名全体と複数のファイルを処理するには:

  • 追加 /gファイル名全体を処理します。
  • 追加 _アンダースコアに置き換える(必要な場合)
  • ファイルの「タイプ」または個々のファイル名をスペースで区切って最後に追加します。

名前の変更 's/[^ a-zA-Z0-9 _。]/_/g' * mp4 * avi

4
SJG