約4kのファイルがあるフォルダがあります。これらのファイルの一部は、?
または!
文字で始まります。それらを削除する必要がありますが、削除する式が見つかりません。
rm -f ./?*
すべてを削除するだけです。 lsでgrep
を使用し、xargs
を介してパイプし、ファイルを別のフォルダーに移動できますが、これを行う適切な方法があることを望んでいました。 ?
ファイルと!
ファイルの両方についてサポートが必要です。
特別なものは必要ありません。単に?
グロブの一部と見なされないように:
rm -f ./\?*
これは!
も:
rm -f ./\!*
または一挙に:
rm -f ./{\?,\!}*
更新
grep
の出力をls
に提案していることがわかりました。 ls の出力を解析すべきではないという事実に注意を向けたかった
私の場合、文字は実際には疑問符ではなく、コンソールに表示できないUnicode文字でした。
rm -i *
を使用するとうまくいきました。これを実行したくない場合は、 http://www.cyberciti.biz/tips/delete-remove-files-with-inodeで説明されているように、inodeで削除することもできます。 -number.html 。
Iノードを見つけるには、次のコマンドを使用します。
ls -il
次に行います:
find . -inum [inode-number] -exec rm -i {} \;