다음 명령어를 사용하면 하위 디렉토리의 모든 파일 확장자를 *.확장자 형식으로 변환하여 .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에 쉽게 추가할 수 있습니다. 추가적인 요구 사항이 있다면 말씀해주세요! 😊
답글 남기기