2011-07-16 16 views
3

ファイル名にアスタリスクが含まれているファイルをbashで削除するにはどうすればよいですか?ワイルドカードを使用しています。私が行う場合bashファイル名にアスタリスクが含まれているファイルを削除する

ファイル名に "filter"という単語が含まれているファイルはすべて削除しますが、ファイルにアスタリスクが含まれている場合はどうなりますか?

EDIT:あなたのアドバイスの後、私はこの

*filter*xyz*.data 
+0

リテラルで、ワイルドカードであるもののアスタリスクのどの私たちに語った場合、それは役立つだろう。 –

+0

'ls * filter *'がファイルを表示している場合、 'rm * filter *'はそれを削除します。 –

答えて

8

rm -rf \*filter\*またはrm -rf '*filter*'

+0

それは動作しません、私の質問を編集 – flow

+0

を編集し、あなたの答えにたくさんの感謝! – flow

+0

実際のアスタリスクであるアスタリスクを "エスケープ"する必要があります。だから、 'filter'とアスタリスクが続き、' xyz'の後ろに他の文字が続き、 '.data'で終わるすべてのファイルを削除したいならば、' rm -rf * filter \ * xyz * 'とするでしょう。データ ' –

0
rm -rf '*filter*' 

がうまく動作するはず削除することはできませんよ。引用符を使用します(コメントに基づいてシングルに更新されます)。

+1

一重引用符がうまくいくでしょう。 –

+0

それは動作しません – flow

+0

@Paul +1私は一重引用符と二重引用符のわずかな違いを認識していませんでした。アスタリスクの場合はdoubleがOKですが、他の文字の場合は特別な意味が保持されます。ありがとう! http://www.faqs.org/docs/bashman/bashref_8.html#SEC8 – mikey

関連する問題