특정 확장자/디렉토리 git backup

다음 명령어를 사용하면 하위 디렉토리의 모든 파일 확장자를 *.확장자 형식으로 변환하여 .gitignore-ext 파일로 내보낼 수 있습니다.

명령어

find . -type f | sed -n ‘s/.*\.\([a-zA-Z0-9]*\)$/*\.\1/p’ | sort | uniq > .gitignore-ext

작업 흐름

1. find . -type f:

• 현재 디렉토리(.)와 하위 디렉토리에서 파일만 검색.

2. sed -n ‘s/.*\.\([a-zA-Z0-9]*\)$/*\.\1/p’:

• 파일 경로에서 확장자를 추출하고 *.확장자 형식으로 변환.

3. sort | uniq:

• 중복 확장자를 제거하여 유니크한 확장자만 추출.

4. > .gitignore-ext:

• 결과를 .gitignore-ext 파일로 저장.

실행 예제

디렉토리 구조

project/

├── file1.txt

├── file2.log

├── file3.csv

├── sub-folder/

│   ├── file4.txt

│   ├── file5.log

│   └── file6.jpg

명령어 실행

find . -type f | sed -n ‘s/.*\.\([a-zA-Z0-9]*\)$/*\.\1/p’ | sort | uniq > .gitignore-ext

결과 (.gitignore-ext 파일 내용)

*.csv

*.jpg

*.log

*.txt

추가 옵션

특정 디렉토리에서만 실행

특정 디렉토리(/path/to/dir)를 대상으로 작업:

find /path/to/dir -type f | sed -n ‘s/.*\.\([a-zA-Z0-9]*\)$/*\.\1/p’ | sort | uniq > .gitignore-ext

기존 .gitignore-ext에 추가

결과를 기존 .gitignore-ext에 추가하려면 >>를 사용:

find . -type f | sed -n ‘s/.*\.\([a-zA-Z0-9]*\)$/*\.\1/p’ | sort | uniq >> .gitignore-ext

확장자를 제외하고 싶을 때

특정 확장자를 제외하려면 grep -v를 추가:

find . -type f | sed -n ‘s/.*\.\([a-zA-Z0-9]*\)$/*\.\1/p’ | grep -v “*.log” | sort | uniq > .gitignore-ext

이 명령어로 .gitignore-ext 파일을 생성한 후, Git 관리 또는 프로젝트 구성에 활용할 수 있습니다.

Linux에서 ls -l 결과에서 폴더 이름만 추출하여 .gitignore 파일에 추가하는 방법은 아래 단계대로 진행하면 됩니다.

명령어 요약

ls -l | grep ‘^d’ | awk ‘{print $9}’ > .gitignore

작업 과정

1. 명령어 설명

1. ls -l:

• 현재 디렉토리의 파일과 폴더를 자세히 출력.

2. grep ‘^d’:

• ls -l 출력 중 폴더(d로 시작하는 항목)만 필터링.

3. awk ‘{print $9}’:

• ls -l의 9번째 열(폴더 이름)만 추출.

4. > .gitignore:

• 추출된 폴더 이름을 .gitignore 파일에 저장.

2. 특정 디렉토리에서 실행

특정 디렉토리에서 작업하려면 디렉토리 경로로 이동한 후 실행:

cd /path/to/your/project

ls -l | grep ‘^d’ | awk ‘{print $9}’ > .gitignore

3. 서브 디렉토리 포함

모든 하위 디렉토리를 포함하려면 find 명령어를 사용:

find . -type d > .gitignore

결과:

• .gitignore에 모든 하위 폴더 경로가 포함됩니다.

4. .gitignore 형식 유지

만약 폴더 이름 앞에 /를 추가하고 싶다면:

ls -l | grep ‘^d’ | awk ‘{print “/”$9}’ > .gitignore

5. 예제

폴더 구조

project/

├── folder1/

├── folder2/

├── file1.txt

└── file2.log

명령 실행

ls -l | grep ‘^d’ | awk ‘{print $9}’ > .gitignore

.gitignore 결과

folder1

folder2

6. 확인

.gitignore 파일이 제대로 생성되었는지 확인:

cat .gitignore

7. 주의 사항

• .gitignore 파일에 기존 내용이 있다면 덮어쓰지 않도록 주의합니다. 기존 내용 뒤에 추가하려면 >>를 사용:

ls -l | grep ‘^d’ | awk ‘{print $9}’ >> .gitignore

이 작업으로 현재 디렉토리의 폴더 이름만 .gitignore에 쉽게 추가할 수 있습니다. 추가적인 요구 사항이 있다면 말씀해주세요! 😊


코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다