여러 스캔 결과 결합하기
여러 스캔 결과 결합하기
여러 번의 서로 다른 스캔 결과를 하나의 파일로 만드는 것이 유용할 수 있어요. 결합된 파일은 모든 스캔 결과를 단일 뷰로 보는 데 사용하거나, 다른 명령어에 전달할 수도 있어요.
출처: 문서
본문
여러 번의 서로 다른 스캔 결과를 하나의 파일로 만드는 것이 유용할 수 있어요. 결합된 파일은 모든 스캔 결과를 단일 뷰로 보는 데 사용하거나 다른 명령어에 전달할 수도 있어요.
결합 방법은 결과 파일의 형식에 따라 달라져요.
JSON
출력 파일 형식이 JSON이면 여러 결과를 결합하는 것이 간단해요. 형식이 json-lines이므로 각 줄은 완전히 독립적이며, 모든 결과 파일을 연결(concatenate)하면 돼요:
$ cat results-1.jsonl results-2.jsonl > combined-results.jsonl
예시
두 개의 서로 다른 Vault 클러스터를 스캔하고 결합된 인덱스를 만들어 봐요. 인덱스 생성에 대한 정보는 index vault를 참조해 주세요.
- Vault 클러스터 하나를 스캔하고 결과를
vault-index-1.jsonl에 저장한다. ``` $ VAULT_ADDR=[ADDR1] VAULT_TOKEN=[TOKEN1] vault-radar index vault
-o vault-index-1.jsonl --index - 다른 Vault 클러스터를 스캔하고 결과를
vault-index-2.jsonl에 저장한다. ``` $ VAULT_ADDR=[ADDR2] VAULT_TOKEN=[TOKEN2] vault-radar index vault
-o vault-index-2.jsonl --index - 두 스캔 결과를 결합한다. ```
$ cat vault-index-1.jsonl vault-index-2.jsonl > combined-vault-index.jsonl
CSV
각 CSV 파일에는 헤더 줄이 있으므로 단순히 파일을 결합하는 것은 제대로 동작하지 않아요. 결합하려면 head와 tail 명령어의 조합을 사용할 수 있어요.
$ head -n 1 result-1.csv > combined-results.csv && \
tail -n+2 -q results-1.csv results-2.csv >> combined-results.csv
예시
두 개의 git 저장소를 스캔하고 결합된 파일을 만들어 봐요.
- git 저장소를 스캔하고 결과를
scan-repo-results-1.csv에 저장한다. ``` $ vault-radar scan repo -u-o scan-repo-results-1.csv - 다른 git 저장소를 스캔하고 결과를
scan-repo-results-2.csv에 저장한다. ``` $ vault-radar scan repo -u-o scan-repo-results-2.csv - 두 스캔 결과를 결합한다. ```
$ head -n 1 scan-repo-results-1.csv > combined-results.csv &&
tail -n+2 -q scan-repo-results-1.csv scan-repo-results-2.csv >> combined-results.csv
메모: 모범 사례로, 같은 명령어의 CSV 결과를 결합해 주세요. 예를 들어
scan repo명령어에서 반환된 결과를 결합하는 거예요. 서로 다른 명령어(예:scan repo와scan folder)의 결과를 결합하는 것은 명령어마다 다른 열이 있으므로 제대로 동작하지 않아요.
더 알아보기 (Learn more)
- CSV 출력 정의 — CSV 출력 필드를 확인해요.
- index vault 명령어 — Vault 인덱스를 생성하는 방법을 확인해요.
- CLI 시작하기 — 주요 명령어 목록을 둘러봐요.