すべての空の「リーフ」サブディレクトリに空のファイルを繰り返し作成します。

すべての空の「リーフ」サブディレクトリに空のファイルを繰り返し作成します。

Maven私のプロジェクトのディレクトリ構造を作成しました。

$ tree -a -I .git
.
├── .gitignore
├── README.md
├── pom.xml
└── src
    ├── main
    │   ├── java
    │   └── resources
    └── test
        ├── java
        └── resources

7 directories, 2 files

今構造をに維持したいと思います.git。これには生成が必要です。仮想ファイルサブディレクトリにあります。.gitkeepすべてのファイルに空のファイルを(再帰的に)どのように追加しますか?空のサブディレクトリ


次の質問では、すでにサブディレクトリに(再帰的に)空のファイルを作成する方法について説明していますが、ファイルは以下でのみ生成できます。リーフディレクトリそしてどちらもありません。中間ディレクトリ

ベストアンサー1

~からライアン・アームストロングのブログfind、GNU、または互換バージョンを使用して実行する方法は次のとおりです。

find . -type d -empty -not -path "./.git/*" -exec touch {}/.gitkeep \;
  • find . -type d(再帰的) 現在のパスでディレクトリを探す
  • -empty特定のコンテンツがすでに含まれているディレクトリのフィルタリング
  • -not -path "./.git/*".gitディレクトリにファイルが作成されていないことを確認してください。
  • -exec touch {}/.gitkeep \;.gitkeep上記の基準に一致するすべてのディレクトリに空のファイルを作成します。

結果の構造は次のとおりです。

$ tree -a -I .git
.
├── .gitignore
├── README.md
├── pom.xml
└── src
    ├── main
    │   ├── java
    │   │   └── .gitkeep
    │   └── resources
    │       └── .gitkeep
    └── test
        ├── java
        │   └── .gitkeep
        └── resources
            └── .gitkeep

7 directories, 7 files

おすすめ記事