誤解を招くタイトルについてお詫び申し上げます。しかし、これが問題を説明するために私が考えることができる最良の方法です。つまり、動作するファイルが複数あるために使用しよう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 {} \;