23 約4kのファイルがあるフォルダーがあります。これらのファイルの一部は、aa ?または!文字で始まります。それらを削除する必要がありますが、削除する式が見つかりません。 rm -f ./?* すべてを削除するだけです。おそらくgreplsで使用し、パイプを使用してxargsファイルを別のフォルダーに移動できますが、これを行う適切な方法があることを望んでいました。?と!ファイルの両方でヘルプが必要です。 shell wildcards quoting — recる ソース
26 派手なものは必要ありません。単にエスケープして?、グロブの一部と見なされないようにします。 rm -f ./\?* これも機能し!ます: rm -f ./\!* または一挙に: rm -f ./{\?,\!}* 更新 grepの出力に提案していることに気付いただけですls。lsの出力を解析してはならないという事実に注意を喚起したかった — ジョセフ・R ソース 4 @recluzeばかじゃない。ワイルドカードのエスケープについて知らない場合、それを行う方法は明らかではありません。 — CVn @recluze質問に5票投票した後でもまだ愚かだと思いますか?:)ところで、更新された答えを参照してください。 — ジョセフR. ありがとう、ありがとう:) ... ls出力の問題を認識していましたが、私のファイルには特定のパターンがありました。それにもかかわらず、知っておくとよい:) — 13
13 私の場合、文字は実際には疑問符ではなく、明らかにコンソールに表示できないユニコード文字でした。 使用rm -i *は私のために働いた。これを行いたくない場合は、http: //www.cyberciti.biz/tips/delete-remove-files-with-inode-number.htmlで説明されているように、inodeで削除することもできます。 iノードを見つけるには、次を使用します。 ls -il それから: find . -inum [inode-number] -exec rm -i {} \; — ジョナサン ソース