ファイル名に印刷できない文字を含むファイルを削除する方法

ファイル名に印刷できない文字を含むファイルを削除する方法

何とかファイル名がないようなファイルを作成しました。ファイルの詳細を確認する方法に関する情報を以下に見つけました。ワイヤー。

ただし、リストされている提案のいくつかを試しましたが、ファイルを削除できないようです。何をしたのかわかりませんが、xmlファイルをコピーしようとするとこの現象が発生します。

ファイルの一部の情報は次のとおりです。

> ls -lb
total 296
-rw-r--r--   1 voyager  endeavor  137627 Jan 12 12:49 \177

> file *
:               XML document

> ls -i
 417777   

私はinumスイッチの使い方を見つけ、それを取り除く最も簡単な方法のように見えるので、rmに接続しようとしました。しかし、下のリンクされたスレッドの一番下にある例は私に失敗します。例は次のとおりです。

> find -inum 41777 -exec ls -al {} \;
find: illegal option -- i
find: [-H | -L] path-list predicate-list

だから最初は以下のようなルートリストを試してみましたが、それもうまくいきませんでした。

> find . -inum 41777 -exec ls -al {} \;

印刷できない文字\ 177が何であるか、それをコマンドに渡す方法がわかりませんが、rmこのファイルを削除しようとしたときに他のファイル/ディレクトリを混乱させないようにしたいと思います。

答え1

ファイルに名前があるが印刷できない文字で構成されています。 ksh93、bash、zsh、mksh、またはFreeBSD shを使用している場合は、印刷できない名前を指定して削除してみてください。まず、名前が正しいことを確認してください。ls -ld $'\177' 正しいファイルが表示されたら、rmを使用してください。rm $'\177'

別の(危険な)アプローチは、rmオプションを使用することですrm -i -- *。ファイルを削除する前に確認が必要なので、そのファイルを除き、保持したいすべてのファイルをスキップできます。

頑張ってください!

答え2

vim現在の作業ディレクトリで実行している場合:

$ vim ./ 

矢印キーを使用するか、ファイルに移動しますj/k。次にクリックしShift+Dて削除を確認しますy

答え3

ファイル名をに渡す方法があるかもしれませんが、rm問題が発生するかどうか心配している場合は、GUIファイルマネージャを使用できます。 Emacsには、インストールされている場合に使用できるディレクトリ編集モードがあります。

  1. emacs実行するemacs /path/to/folderか、emacsを開き、Esc+を押してxからを実行すると、diredパスを求めるメッセージが表示されます。

    http://so.mrozekma.com/unix-dired-delete1.png

  2. 削除したいファイルがある行に移動してをタップしますdDファイルの左側に次のいずれかが表示されます。

    http://so.mrozekma.com/unix-dired-delete2.png

  3. x変更を保存するにはタップします。ファイルの削除を確認するように求められますy

    http://so.mrozekma.com/unix-dired-delete3.png

答え4

file *シェル glob( *) がこのファイルを取得できることを実証したので、rmglob で作業を行うだけです。

  • ファイルがあるディレクトリに変更します。
  • 走るrm -i *
  • n目に見えないファイル名を除くすべてのファイルを入力してください。

関連情報