Linuxでは、ファイル名からカンマを削除できません。

Linuxでは、ファイル名からカンマを削除できません。

端末フォルダに「data」というフォルダがあります。データの一部のファイル名には「,」が含まれています。私はそれらをリストできます

$ cd data
$ ls -i |grep -E '\,'

ところで、このファイル名から「、」を削除する方法がわかりません。私の研究に基づいて同様のアプローチを試しましたが、grep -E '\,' | sed ','成功しませんでした。ファイル名からカンマを削除できない場合は、ファイルを削除することになりますが、ターミナルフォルダまたはrmを使用するコマンドラインからファイルを削除することはできません(そのファイルやディレクトリがないと表示されます)。

答え1

Bashシェルを使用すると、カンマを含むすべてのファイル名を繰り返し、名前を変更してすべてのカンマを削除できます。

for f in *,*; do mv -- "$f" "${f//,/}"; done

例を実行してみてください。

$ touch foo,bar a,b,c,d
$ ls
a,b,c,d  foo,bar

結果:

$ for f in *,*; do mv -- "$f" "${f//,/}"; done
$ ls
abcd  foobar

これにより、既存のターゲットファイル名がすべて削除されます。

関連情報