文字列をパラメータとし、その文字列を含むディレクトリ内のすべてのファイルを削除するbourne-shellスクリプトを作成しようとしています rmを使用してrmを使用することを考えていましたが、 B-シェルbourne-shell find-remove
find . -name $1 'core' -exec rm -i* {}\;
に
を開始した任意の助けもいただければ幸いです。ありがとう。
文字列をパラメータとし、その文字列を含むディレクトリ内のすべてのファイルを削除するbourne-shellスクリプトを作成しようとしています rmを使用してrmを使用することを考えていましたが、 B-シェルbourne-shell find-remove
find . -name $1 'core' -exec rm -i* {}\;
に
を開始した任意の助けもいただければ幸いです。ありがとう。
remove.shスクリプト:
#!/bin/sh
find . -type f -iname *$1* -exec rm -rf {} \;
用法:
$remove.sh "main"
実際には文字列を含むファイルのみを削除しますが、残りのファイルは削除されません – Glove
なぜだけではなく、この:
#!/bin/sh
rm *$1*
があなたの引数が含まれている現在のディレクトリ内のファイルを削除します。
find . -type f -name "$1" -delete
これはすべてのサブディレクトリに繰り返されます。それが欲しくない場合は、rmまたは-maxdepthを使用してください。
ファイルの名前に文字列を含めるか、ファイルの内容に文字列を含める必要がありますか? – Mithrandir
@Mithrandirファイルの名前申し訳ありません – Glove