[解決済み】`find`が.svnディレクトリを無視するようにするにはどうしたらいいですか?
2022-04-05 10:34:22
質問
私はよく
find
コマンドは、ソースコードを検索したり、ファイルを削除したりするために使用します。困ったことに、Subversion は各ファイルの複製をその
.svn/text-base/
ディレクトリで検索すると、重複した結果がたくさん出てきてしまいます。例えば、再帰的に検索したいのは
uint
を複数の
messages.h
と
messages.cpp
ファイルを作成します。
# find -name 'messages.*' -exec grep -Iw uint {} +
./messages.cpp: Log::verbose << "Discarding out of date message: id " << uint(olderMessage.id)
./messages.cpp: Log::verbose << "Added to send queue: " << *message << ": id " << uint(preparedMessage->id)
./messages.cpp: Log::error << "Received message with invalid SHA-1 hash: id " << uint(incomingMessage.id)
./messages.cpp: Log::verbose << "Received " << *message << ": id " << uint(incomingMessage.id)
./messages.cpp: Log::verbose << "Sent message: id " << uint(preparedMessage->id)
./messages.cpp: Log::verbose << "Discarding unsent message: id " << uint(preparedMessage->id)
./messages.cpp: for (uint i = 0; i < 10 && !_stopThreads; ++i) {
./.svn/text-base/messages.cpp.svn-base: Log::verbose << "Discarding out of date message: id " << uint(olderMessage.id)
./.svn/text-base/messages.cpp.svn-base: Log::verbose << "Added to send queue: " << *message << ": id " << uint(preparedMessage->id)
./.svn/text-base/messages.cpp.svn-base: Log::error << "Received message with invalid SHA-1 hash: id " << uint(incomingMessage.id)
./.svn/text-base/messages.cpp.svn-base: Log::verbose << "Received " << *message << ": id " << uint(incomingMessage.id)
./.svn/text-base/messages.cpp.svn-base: Log::verbose << "Sent message: id " << uint(preparedMessage->id)
./.svn/text-base/messages.cpp.svn-base: Log::verbose << "Discarding unsent message: id " << uint(preparedMessage->id)
./.svn/text-base/messages.cpp.svn-base: for (uint i = 0; i < 10 && !_stopThreads; ++i) {
./virus/messages.cpp:void VsMessageProcessor::_progress(const string &fileName, uint scanCount)
./virus/messages.cpp:ProgressMessage::ProgressMessage(const string &fileName, uint scanCount)
./virus/messages.h: void _progress(const std::string &fileName, uint scanCount);
./virus/messages.h: ProgressMessage(const std::string &fileName, uint scanCount);
./virus/messages.h: uint _scanCount;
./virus/.svn/text-base/messages.cpp.svn-base:void VsMessageProcessor::_progress(const string &fileName, uint scanCount)
./virus/.svn/text-base/messages.cpp.svn-base:ProgressMessage::ProgressMessage(const string &fileName, uint scanCount)
./virus/.svn/text-base/messages.h.svn-base: void _progress(const std::string &fileName, uint scanCount);
./virus/.svn/text-base/messages.h.svn-base: ProgressMessage(const std::string &fileName, uint scanCount);
./virus/.svn/text-base/messages.h.svn-base: uint _scanCount;
どうすれば
find
を無視するために
.svn
ディレクトリを作成しますか?
更新情報 : SVNクライアントをアップグレードすると バージョン1.7 は、もはや問題ではありません。
Subversion 1.7で導入された変更の主な特徴は、作業コピーのメタデータ保存を一箇所に集中させたことです。代わりに
.svn
ディレクトリが作業コピーのすべてのディレクトリにありますが、Subversion 1.7 の作業コピーにはたったひとつの.svn
ディレクトリが作業コピーのルートにあります。このディレクトリには(特に)SQLiteでバックアップされたデータベースがあり、Subversionがその作業コピーに必要とするすべてのメタデータが含まれています。
解決するには?
検索するには、次のサイトを参照してください。
アック
? これは、ソースコードを意識した
find
そのため、上記のようなソースコードのリポジトリ情報を含む多くの種類のファイルを自動的に無視します。
関連
-
[解決済み】sed を使用して部分文字列を抽出する方法
-
[解決済み] Linuxで特定のテキストを含むすべてのファイルを検索するにはどうすればよいですか?
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] ワイルドカードマッチングに基づいて、現在のフォルダとサブフォルダ内のすべてのファイルを再帰的に検索するにはどうすればよいですか?
-
[解決済み] find .コマンドでディレクトリを除外する方法
-
[解決済み] 履歴のある SVN リポジトリを新しい Git リポジトリに移行するにはどうすればよいですか?
-
[解決済み] Linux で grep を使ってファイル名だけを表示するにはどうしたらいいですか?
-
[解決済み] grep -R からディレクトリを除外するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】CentOSのエラー - sudo: effective uid is not 0, is sudo installed setuid root?
-
[解決済み] sysrootとは何ですか、そしてどのように作成しますか?
-
[解決済み] chmod: 'my_script.sh' のパーミッションを変更しました。操作が許可されていない
-
[解決済み] svn diffコマンドの使用
-
[解決済み] STRACEがEAGAINを表示する理由(リソースが一時的に使用できないため)
-
[解決済み] vimdiff の出力ファイルにおける +-- の意味は何ですか?それをオフにする方法は?
-
[解決済み] sudoとnohupを連動させる
-
[解決済み] 単一のコマンドでssh経由でコマンドが見つからない、ターミナルに接続したら見つかった[重複]。
-
[解決済み] Linuxで特定のテキストを含むすべてのファイルを検索するにはどうすればよいですか?
-
[解決済み] [Solved] フォルダー階層にあるすべての異なるファイル拡張子を見つけるにはどうしたらいいですか?