2012-03-02 9 views
0

文字列をパラメータとし、その文字列を含むディレクトリ内のすべてのファイルを削除するbourne-shellスクリプトを作成しようとしています rmを使用してrmを使用することを考えていましたが、 B-シェルbourne-shell find-remove

find . -name $1 'core' -exec rm -i* {}\;

を開始した任意の助けもいただければ幸いです。ありがとう。

+0

ファイルの名前に文字列を含めるか、ファイルの内容に文字列を含める必要がありますか? – Mithrandir

+0

@Mithrandirファイルの名前申し訳ありません – Glove

答えて

0

remove.shスクリプト:

#!/bin/sh 
find . -type f -iname *$1* -exec rm -rf {} \; 

用法:

$remove.sh "main" 
+0

実際には文字列を含むファイルのみを削除しますが、残りのファイルは削除されません – Glove

1

なぜだけではなく、この:

#!/bin/sh 
rm *$1* 

があなたの引数が含まれている現在のディレクトリ内のファイルを削除します。

0
find . -type f -name "$1" -delete 

これはすべてのサブディレクトリに繰り返されます。それが欲しくない場合は、rmまたは-maxdepthを使用してください。