/ 텍스트 / glob
광고 제거멤버
테마: 시스템대비: 표준

Glob 및 .gitignore 테스터

경로 목록에 glob 패턴과 .gitignore 규칙을 시험해 어떤 경로가 어떤 규칙으로 일치하는지 확인합니다.

코드 예제

내 프로젝트에 그대로 복사해서 쓰세요. 모든 예제는 해당 언어의 표준 라이브러리만 사용하므로 설치할 것이 없습니다.

최대 3개 언어에 별표를 하면 모든 도구 페이지에서 맨 앞에 표시됩니다.

JavaScript을(를) 즐겨찾기에 추가
const pattern = '*.log'
const names = ['app.log', 'readme.md', 'error.log']

// * stays inside one path segment, ? is one character, everything else is literal.
const source = pattern.replace(/[.+^${}()|[\]\\]/g, '\\$&').replace(/\*/g, '[^/]*').replace(/\?/g, '[^/]')
const matcher = new RegExp(`^${source}$`)

for (const name of names.filter((candidate) => matcher.test(candidate))) {
  console.log(name)
}

기능

경로 목록에 glob 패턴과 .gitignore 규칙을 시험합니다. 각 경로에 일치 여부와 원인이 된 패턴이 함께 표시되어, src/lib/util.test.ts가 포함되거나 제외되는 이유를 알 수 있습니다.

사용 방법

  1. 경로에 한 줄에 경로 하나씩 붙여 넣거나 텍스트 파일을 놓습니다.
  2. 패턴에 한 줄에 패턴 하나씩 씁니다. #로 시작하는 줄은 주석입니다.
  3. Glob, Bash, Gitignore를 고르고 모든 경로, 일치만, 불일치만 표시합니다.
  4. 결과를 복사합니다.

예시

패턴 src/**/*.ts와 !**/*.test.ts에서 경로 src/lib/util.ts는 일치하고 src/lib/util.test.ts는 제외가 우선하여 일치하지 않습니다. .gitignore 규칙 *.log와 !keep.log에서는 app.log는 무시되고 keep.log는 무시되지 않습니다.

알아 두면 좋은 점

  • *는 한 디렉터리 안에 머물고 **는 디렉터리를 가로지르며 ?, [ab], {a,b}는 picomatch처럼 동작합니다.
  • .env 같은 점 파일은 점 파일 포함을 켜거나 패턴이 점을 명시할 때만 일치합니다.
  • Glob과 Bash에서 !로 시작하는 패턴은 다른 패턴이 찾은 것을 제외합니다. Gitignore에서는 Git처럼 마지막으로 일치한 규칙이 우선합니다.
  • Bash는 globstar가 없는 셸처럼 **를 일반 *로 읽습니다.
  • 경로는 텍스트로 비교됩니다. 디스크에서 아무것도 읽지 않습니다.

세 가지 구문은 무엇이 다른가요?

Glob은 대부분의 빌드 도구가 쓰는 picomatch 구문입니다. *는 한 디렉터리 안에 머물고 **는 디렉터리를 가로지르며, {a,b} 같은 중괄호, [ab] 같은 문자 클래스, ?도 동작합니다. Bash는 globstar가 없는 셸처럼 **를 일반 *로 읽습니다. Gitignore는 .gitignore 규칙을 따릅니다. 끝의 /는 디렉터리, 앞의 /는 루트 고정을 뜻하며, 뒤의 ! 규칙은 앞선 규칙이 무시한 것을 다시 포함합니다.

자주 묻는 질문

경로 옆에 어떤 규칙이 표시되나요?

처음으로 일치한 패턴입니다. glob과 bash에서 제외(!로 시작하는 패턴)로 빠진 경로에는 그 제외가 표시됩니다. gitignore에서는 그 경로를 무시한 규칙이 표시됩니다.

*가 점으로 시작하는 파일과 일치하지 않는 이유는?

패턴이 점을 명시하지 않으면 glob은 점 파일을 건너뜁니다. 점 파일 포함을 켜면 bash의 dotglob처럼 *와 ?가 일치합니다. .gitignore에는 이 스위치가 없습니다.

이 도구는 경로를 어딘가로 보내나요?

아니요. 모든 작업은 브라우저에서 이루어집니다. 입력한 내용은 우리 서버로 전송되지 않습니다.

이 도구의 변경 내역

키보드 단축키

닫기

어디서나

도구와 작업 검색
Ctrl K
이 도움말 표시
?
테마 전환
Ctrl Shift L
선택한 도구 고정(검색에서)
Ctrl P

도구에서

출력을 첫 번째 추천으로 보내기
Ctrl ↵
파일을 입력으로 열기
Ctrl O
출력 복사
Ctrl Shift C
검색 닫기esc
도구Base64 인코더 및 디코더텍스트를 Base64로 인코딩하거나 Base64를 텍스트로 디코딩합니다. 표준 및 URL 안전 알파벳을 지원합니다.인코딩JSON 포맷터 및 검증기JSON을 포맷, 압축, 검증하며 오류의 정확한 줄과 열을 알려 줍니다.포맷정규식 테스터실시간 하이라이트, 캡처 그룹, 쉬운 말 설명과 함께 JavaScript 정규식을 테스트합니다.텍스트UUID·ULID 생성기UUID v4, UUID v7, ULID를 한꺼번에 생성하거나, ID를 붙여 넣어 버전, 변형, 타임스탬프를 확인하세요.생성기Unix 타임스탬프 변환기Unix 타임스탬프와 날짜를 서로 변환합니다. 모든 시간대를 지원하며 ISO 8601, RFC 2822, 상대 시간도 보여 줍니다.날짜 및 시간해시 및 HMAC 생성기텍스트나 파일의 MD5, SHA-1, SHA-2, SHA-3, BLAKE2, BLAKE3, CRC-32 해시를 계산하고 HMAC도 선택할 수 있습니다.보안비밀번호 생성기 및 강도 검사기무작위 비밀번호, 암호 문구, PIN을 생성하거나 비밀번호가 얼마나 강한지 확인하세요.보안JWT 디코더 및 검증기JSON Web Token을 디코딩하고 만료와 클레임을 확인하며, 비밀 키나 공개 키로 서명을 검증하세요.보안CIDR 및 IP 서브넷 계산기IPv4·IPv6 네트워크의 범위, 마스크, 크기를 계산하고 서브넷으로 나누며, 무엇이 무엇을 포함하거나 겹치는지 확인하세요.네트워크Cron 표현식 해설기cron 표현식을 쉬운 말로 읽고, 어느 시간대에서든 다음 실행 시각을 확인하며, 표준 형태로 정리하세요.날짜 및 시간줄 정렬텍스트 줄을 A에서 Z, Z에서 A, 자연 순서(file2가 file10보다 앞), 코드 포인트, 숫자 또는 길이 기준으로 정렬합니다.텍스트중복 줄 제거목록에서 중복된 줄을 제거합니다. 첫 번째 또는 마지막 사본을 남기거나, 대소문자나 공백을 무시하거나, 반복되는 모든 줄을 없앨 수 있습니다.텍스트목록과 텍스트 비교두 목록을 줄 단위로 비교합니다. 둘 다에 있거나, 하나에만 있거나, 어느 쪽에든 있는 줄을 찾고, 표시된 줄 차이를 나란히 볼 수 있습니다.텍스트대소문자 변환과 슬러그텍스트를 camelCase, snake_case, kebab-case, Title Case 등으로 변환하거나 제목을 악센트 처리가 된 URL 슬러그로 바꿉니다.텍스트URL 인코딩·디코딩·분석URL용으로 텍스트를 퍼센트 인코딩·디코딩하거나, URL을 스킴·호스트·경로·쿼리로 나누고 쿼리를 표로 편집합니다.인코딩검증기: IBAN·BSN·VATIBAN, 네덜란드 BSN, 신용카드 번호, EU VAT 번호, 이메일 주소, URL, ISBN을 검증하고 실패하면 이유를 알려 줍니다. 한 줄에 값 하나.검증HTML 엔티티 인코딩·디코딩텍스트를 이름·10진·16진 엔티티로 HTML용으로 이스케이프하거나 &, é 같은 엔티티를 다시 문자로 바꿉니다.인코딩문자열 이스케이프와 언이스케이프JSON·JavaScript 문자열, SQL 문자열, CSV 필드, 정규식 또는 셸 단어에 맞게 텍스트를 이스케이프하거나 이스케이프를 되돌립니다.인코딩EAN·UPC·GTIN 체크 디지트EAN-8, EAN-13, UPC-A, GTIN-14의 체크 디지트를 검증하고 빠진 자리를 계산하며, GS1 접두사로 국가를 읽고 ISBN-10과 EAN-13을 서로 변환합니다. 한 줄에 코드 하나.검증테스트 데이터 생성기테스트용 IBAN, BSN, EAN 바코드, EU 부가세 번호를 한꺼번에 생성합니다. 검증은 통과하지만 누구의 것도 아닙니다.생성기SQL 포매터·압축기SQL을 절마다 줄을 나눠 정리하거나 한 줄로 압축합니다. MySQL, PostgreSQL, SQLite, SQL Server, BigQuery를 지원합니다.포맷진법 변환기2진수·8진수·10진수·16진수와 2~36의 모든 진법 사이에서 숫자를 변환합니다. 큰 수, 2의 보수, 비트 보기 지원.인코딩YAML·TOML·JSON 변환기JSON, YAML, TOML을 서로 변환하거나 문서를 검증하고 정리합니다. 모든 오류에 줄과 열을 표시합니다.포맷CSV·JSON 변환기CSV를 JSON 배열로, JSON을 CSV로 변환합니다. 구분 기호를 자동으로 감지하고 세미콜론과 소수점 쉼표를 쓰는 Excel 파일도 읽습니다.데이터Glob 및 .gitignore 테스터경로 목록에 glob 패턴과 .gitignore 규칙을 시험해 어떤 경로가 어떤 규칙으로 일치하는지 확인합니다.텍스트색상 변환기색상을 HEX, RGB, HSL, HWB, OKLCH로 변환하고, 배경과의 WCAG 대비를 확인하고, Material 3 톤 팔레트도 만들 수 있습니다.포맷chmod 계산기Unix 파일 권한을 8진수(755), 문자(rwxr-xr-x), ls -l, chmod 절 사이에서 변환합니다. 체크박스 격자와 setuid, setgid, sticky 비트를 지원합니다.보안User-Agent 분석기User-Agent 문자열에서 브라우저, 엔진, OS, 기기 종류와 봇 여부를 읽어 줍니다. 비워 두면 내 브라우저를 읽습니다.네트워크cURL을 코드로 변환cURL 명령을 붙여 넣으면 같은 요청을 fetch, Axios, Python requests, Go, PHP 코드로 보여 줍니다. 아무것도 실행하거나 전송하지 않습니다.네트워크마크다운 미리보기마크다운을 쓰면 입력하는 대로 렌더링해 보여 주고 HTML도 복사할 수 있습니다. 원시 HTML은 텍스트로 표시되고 링크는 검사되므로 미리보기에서 아무것도 실행되지 않습니다.포맷바코드·QR 코드 생성기QR 코드, EAN-13, UPC-A, Code 128, ITF-14, Data Matrix를 만들어 SVG나 PNG로 저장하거나, 이미지에서 코드를 읽습니다.생성기페이지변경 내역릴리스별 변경 사항페이지소개codeknife.dev가 무엇이며 누가 만드는지페이지아이디어개선안을 제안하고 다른 방문자의 아이디어에 투표하세요.페이지개인정보브라우저를 떠나는 것과 저장되는 것페이지접근성적합성, 알려진 제한 사항, 문제 신고 방법페이지멤버십광고 제거와 한도 상향페이지동작