何百ものFLACファイルからシンボル(疑問符)を削除する最良の方法は何ですか?

何百ものFLACファイルからシンボル(疑問符)を削除する最良の方法は何ですか?

最近600以上のアルバムコレクションをFLACにリッピングしましたが、これまでファイルに問題があることを一度も発見したことがありません。 Mint内で見ると、ファイル自体は正常に見えます。彼らはみんなよく遊んだ。

ファイルブラウザのファイルイメージ

ここではすべてが大丈夫に見えます。しかし、実際にこれらのファイルを自分のWindowsコンピュータと共有しようとすると、そのファイルが再生またはコピーされないことがわかりました。 Windowsでは、ファイル名が長すぎるというエラーが表示されます。私はそれがうるさいことを知っています。なぜなら、彼らは明らかにそうではないからです。それで問題はサンバにあると思うようになりました。

アルバムフォルダを検索すると、FLACファイルごとに1つずつあることがわかりました。終わる前に。

コンソールのファイル名

属性に入ると、代わりにこんな胸側のものが隠されているのでしょうか?コンソールから。

属性のシンボル

私の欲求不満が実際に始まったところです。私の問題の一部を実際に解決したコンソールコマンドを見つけました。

ここに画像の説明を入力してください。

アルバムフォルダに入ったら?マークは削除されますが、曲名とファイル拡張子の間にスペースが残ります。

ここに画像の説明を入力してください。

簡単に言えば、削除するより良い方法はありますか?シンボルがあるスペースを残さずにすべてのFLACファイルを一度に削除しますか?

または、コマンドを実行する各アルバムを手動で確認し、各ファイルでバックスペースキーを手動で実行する必要がありますか?私はあなたのいくつかが私よりもこれらのことにうまくいくことを心から願っています。

修正する

まず、この問題を解決する方法について提案を提供してくれたすべての人に感謝します。

次のコマンドを実行して問題を解決しました。

find -name $'*\n*' -exec rename $'s|\n||g' '{}' \;

私の音楽フォルダ内のすべてのファイルに改行文字があり、何でも挿入できるため、ファイル名が空白(空白).flacではなく空白.flacで終わることがわかりました。

ベストアンサー1

現在のディレクトリにあるFLACファイルのファイル名からWindowsが気に入らない文字を削除するには:

for f in *.flac; do
  mv "$f" "$(echo -n "$f" | tr -cd ' -~' | tr '<>:"/\\|?*' '_')"
done

これは次のことを行います。

  • ファイル名から非ASCII文字や印刷できない文字をすべて削除します。tr -cd ' -~';

  • Windowsで許可されていない印刷可能なASCII文字を下線()で置き換えますtr '<>:"/\\|?*' '_'

'\n'特にファイル名は.flac

おすすめ記事