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
답변2
zsh 사용:
() {touch -- $^@/.gitkeep} **/*(/^F)
어디:
**/
: 임의 개수(0 포함)의 하위 디렉터리(재귀적으로 전역). 숨겨진 파일과 디렉터리는 기본적으로 무시됩니다.(/^F)
: 글로벌 한정자:/
: 파일 형식목차^F
: 불완전F
(비어 있음)
{} {body} arguments
:익명 기능:$^@
:$@
활성화 되면 ... 대신... 과 동일하게rc_expand_param
확장됩니다 . 그렇지 않으면 수행됩니다.$^@/.gitkeep
$1/.gitkeep
$2/.gitkeep
$n/.gitkeep
$1
$2
$n/.gitkeep