疑問符で始まるすべてのファイルを削除します


23

約4kのファイルがあるフォルダーがあります。これらのファイルの一部は、aa ?または!文字で始まります。それらを削除する必要がありますが、削除する式が見つかりません。

rm -f ./?*

すべてを削除するだけです。おそらくgreplsで使用し、パイプを使用してxargsファイルを別のフォルダーに移動できますが、これを行う適切な方法があることを望んでいました。?!ファイルの両方でヘルプが必要です。

回答:


26

派手なものは必要ありません。単にエスケープして?、グロブの一部と見なされないようにします。

rm -f ./\?*

これも機能し!ます:

rm -f ./\!*

または一挙に:

rm -f ./{\?,\!}*

更新

grepの出力に提案していることに気付いただけですlslsの出力を解析してはならないという事実に注意を喚起したかった


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 {} \;
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.