存在しないファイルの削除

存在しないファイルの削除

誤解を招くタイトルについてお詫び申し上げます。しかし、これが問題を説明するために私が考えることができる最良の方法です。つまり、動作するファイルが複数あるために使用しようcatとすると、rm「該当するファイルやディレクトリはありません」というエラーが発生します。 。

$ cat "A11 D5 D5.txt"
... OUTPUT ...
$ rm -f "A11 D5 D5.txt"
rm: cannot remove `A11 D5 D5.txt': No such file or directory

ファイルを上書きしようとしましたが、エラーなしで削除を実行できましたが、ファイルはまだそこにあります。

$ echo "Boom" > "A11 D5 D5.txt"
$ cat "A11 D5 D5.txt"
Boom
$ rm -f "A11 D5 D5.txt"
$ cat "A11 D5 D5.txt"
Boom
$ rm -f "A11 D5 D5.txt"
rm: cannot remove `A11 D5 D5.txt': No such file or directory

私は完全に圧倒されました。再起動すると問題が解決すると思われますが、実際にはなぜこのようなことが起こるのかに興味があります。一種のファイルシステムの問題ですか? (システムの再起動権限がありません。大学クラスタです。)

編集する:私は次のような結果を得ます。

$ ls
A11 D5 D5.txt
$ ls -b
A11\ D5\ D5.txt
$ printf '<%q>\n'
<''>

私もstatファイルを編集しました(もし備えて):

$ stat A11\ D5\ D5.txt 
  File: `A11 D5 D5.txt'
  Size: 5               Blocks: 8          IO Block: 131072 regular file
Device: 1bh/27d Inode: 18446744068941111933  Links: 1
Access: (0644/-rw-r--r--)  Uid: (  596/  <username>)   Gid: ( 1015/<group>)
Access: 2012-12-09 22:48:29.000000000 -0600
Modify: 2012-12-09 22:56:44.835662498 -0600
Change: 2012-12-09 22:56:44.835662498 -0600

編集2:ファイルシステムは明らかに「ヒューズ」型であり、

$ ls -lb A11\ D5\ D5.txt
-rw-r--r-- 1 <username> <group> 5 Dec  9 22:56 A11\ D5\ D5.txt

ベストアンサー1

ファイル名に見えない特殊文字があると思われる場合は、ツールを使用してファイル名を解決できます。

ls | xargs -i rm -i {}

または

find . -exec rm -i {} \;

おすすめ記事