私はまだbashシェルを学んでいます。
特定のフォルダのサブディレクトリにあるsvnファイルを繰り返し見つけて削除したいと思います。複製ではなくチェックアウトをするミスをして混乱を整理しようとします。
私はこれを試しましたが、見つかったすべてのファイルの出力のみを取得します。
rm | find -name ".svn"
これを実行すると、出力が出ず、ファイルはまだそこにあります。
find . -executable -o ! -regex '.*\.svn' -exec rm -i {} \+
答え1
より簡単な方法は出口確認する代わりにリビジョンをお願いします。 bashシェルを試してくださいsvn help export
。
find
呼び出されたすべてのサブディレクトリを反復して削除するために実際に使用するには、.svn
次のようにします。
find /path/to/search -type d -iname .svn -print0 | xargs -0 rm
編集する
-type d
#ディレクトリのみ検索-iname .svn
#大文字と小文字を区別しない一致、必要ないかもしれません-print0
#ファイル名全体を印刷し、その後に改行文字の代わりにNULL文字が続きます。スペースやその他のスペースを含むファイル名を正しく渡すことができます。xargs -0
答え2
shopt -s globstar
rm -r **/.svn
答え3
find
ほとんどのバージョンには削除操作があります。
$ find /path/in/question -type d -name .svn -delete
必ず削除せずに実行し、結果を先に確認してみてください!