2016-05-02 17 views
0

私はBash:#で始まるすべてのテキストファイルを削除するにはどうすればよいですか?

rm -r #* 

rm #* 

を試みたが、それだけでこのメッセージを出力します 使用方法:RM [-fを| -i] [-dPRrvW]ファイル... アンリンクファイル

問題は何ですか?

+1

これは、スーパーユーザーであることが、 'RM \#*'#コメント –

+2

てみ開始し、それをエスケープする必要があります: 'RM - * ./#*' – anubhava

+0

をあなたは明確にしてくださいすることができ、ファイルを実行します*名前**は '#'で始まるか、ファイルの内容は '#'で始まるのでしょうか? – cdarke

答えて

3
rm \#* 

はあなたのためのトリックを行う必要があります。 #はシェルで特別な意味を持っていることを覚えておいて、コメントを開始します。 (#を除いて!)#で始まる

行を引用する

はコメントであり、 は実行されません。 コメントは、コマンドの終了後にも発生することがあります。

&

エスケープ[バックスラッシュ]。単一文字のための引用機構。

\ Xは文字Xをエスケープします。これは、 "X"を引用する "と同じ意味です。 \「の引用」とするために使用することができるので、それらは は、文字通り表現されている

は、あなたがファイルに 'file1を持っていたら、 'file2 & 'file3は、あなたが使用しているだろう、それらを削除するには:。

rm \'file* #Comment : This deletes all the files starting with 'file 

参照:TLDP note on special characters

4

#は、シェルのコメントです。

rm '#'* 

ハッシュは引用符で囲んであり、globは引用符の外にあることに注意してください。

+0

私はrm '#' *し、そのようなファイルやディレクトリがないと言います。 –

+0

それから、私はrm '#' *(スペースなし)を行いました。同じことが言いましたが、今度は# –

+4

で始まったかどうかに関わらず、今回はディレクトリ内のすべてのファイルを削除しました。スペースを追加したときに、ファイル呼び出し '#'を削除しようとしましたが、 '*'はカレントディレクトリのすべてのファイル名に展開されました。 – cdarke

-2

このコマンドでは、#で始まるすべてのファイルが一覧表示され、rm

ls . |grep "^#.*" |xargs rm -rf 
関連する問題