名前が破損したファイルを削除する

名前が破損したファイルを削除する

どういうわけかファイルを作成しましたが、CLIを介してファイルを削除する方法がわからないようです。

$ ls -alF
total 8195
-rw-r--r--+ 1 me             my_group           0 Jul 19 14:10 ''$'\r'
drwxrwx---+ 1 system         system             0 Nov 17 14:58  ./
drwxr-xr-x+ 1 system         system             0 Jul 17 15:40  ../
...

ここの最初の行エントリから削除できる正しいエスケープシーケンスが見つからないようです。

その項目をgrepしようとしても機能しません。

$ ls -alF | head -n2
total 8195
-rw-r--r--+ 1 me             my_group           0 Jul 19 14:10

grep/を他のパイプコマンドと一緒に使用すると、ファイル名は表示されません。

これはCygwinパッケージWin10環境です。

ベストアンサー1

2つの提案:

  1. 実行ls -liしてinodeをインポートし、次のようにfind削除します。

    ls -li foo
    42 -rw-r--r--. 1 user group 0 Nov 17 15:07 foo
    

inodeが42(上記の例のように)の場合、以下を実行すると対話式にfind . -inum 42 -exec rm -i {} \;ファイルを削除するように求められます。

  1. シェルが現在のディレクトリから1文字、2文字、3文字のファイル名に拡張されるようにするには、実行しますrm -i ? ?? ???。 1つは空白として表示され、ファイルを削除するにはプロンプトに「いいえ」と答えます。文書を保管したい。

おすすめ記事