web-dev-qa-db-ja.com

無効な文字(-encoding)を含むフォルダーを削除します

Linux Mint 18.3のインストールで、ロケール設定に問題があり、名前に無効なエンコードが含まれるフォルダーが生成されました。

上記のフォルダを削除したいのですが、どうすれば削除できるのかわかりません。ファイルマネージャー(Dolphin)とターミナル(Sudo rmdir <folder name>)しかし、両方のコマンドは、指定されたフォルダーが存在しないと主張して失敗しました。

ただし、ファイルマネージャとlsコマンドを介して表示されます。

Sudo rmdir Einf�hrung in die Biochemie/
rmdir: failed to remove 'Einf�hrung': No such file or directory
rmdir: failed to remove 'in': No such file or directory
rmdir: failed to remove 'die': No such file or directory
rmdir: failed to remove 'Biochemie/': No such file or directory

ディレクトリの名前は、lsの出力からコピーされました。

2
Raven

*を使用できます

Sudo rm -rfi Ein*

または

Sudo rm -rfi *Biochemie

パターンに一致するディレクトリが他にない場合は、一意のパターンを選択する必要があります。

rmdirの代わりにrmを使用することもできます。

Jeff Schaller が指摘しているように、-iオプションは、パターンが削除されないディレクトリと一致する場合に役立ちます(一致するたびに確認を求めるプロンプトが表示されます)。

3
man0v

このような場合、Thunarのようなビジュアルファイルマネージャーは非常に便利です。

システムにGUIがない場合は、深夜の司令官などのツールが大いに役立ちます。

単純なケースでは、コマンド補完を使用するだけで十分な場合があります。

 rm -i Einf→→

ここで、→はタブキーを表すか、ManOvが示したように、ワイルドカードで十分です。

 rm 'Einf?hrung in die Biochemie'
 rm 'Einf*hrung in die Biochemie'

このような最新のものをインストールすることが許可されていない場合は、findが役立つ可能性があります。

ls -la Ein*

サイズ、変更時間、所有者、属性などのファイル属性を調査して、以下を見つけることができます。

find -maxdepth 1 -type f -name "Einf*hrung *chemie" -mtime -4 -mtime +2 -size +2000 -size -2200

結果がその1つの特定のファイルだけである場合は、削除スイッチを追加します。これは、あらゆる種類の検索では機能しませんが、GNU-findで機能します。

find -maxdepth 1 -type f -name "Einf*hrung *chemie" -mtime -4 -mtime +2 -size +2000 -size -2200 -delete

他の検索バージョンについては、ファイルを削除する方法など、多くの例もここにあります。

1
user unknown

解決策は、同じdirの親ディレクトリにある他のすべてのファイルとフォルダの名前をEinで始めることでした。それらの前に1_を付けてから、Sudo rmdir Einの端末タイプに移動し、タブを押して、オートコンプリート機能に残りを任せます。
それは実際にそれに応じて文字を解決したので、私は最終的にそのコマンドでディレクトリを削除することができました。

0
Raven