여러 스캔 결과 결합하기

여러 스캔 결과 결합하기

여러 번의 서로 다른 스캔 결과를 하나의 파일로 만드는 것이 유용할 수 있어요. 결합된 파일은 모든 스캔 결과를 단일 뷰로 보는 데 사용하거나, 다른 명령어에 전달할 수도 있어요.

출처: 문서

본문

여러 번의 서로 다른 스캔 결과를 하나의 파일로 만드는 것이 유용할 수 있어요. 결합된 파일은 모든 스캔 결과를 단일 뷰로 보는 데 사용하거나 다른 명령어에 전달할 수도 있어요.

결합 방법은 결과 파일의 형식에 따라 달라져요.

JSON

출력 파일 형식이 JSON이면 여러 결과를 결합하는 것이 간단해요. 형식이 json-lines이므로 각 줄은 완전히 독립적이며, 모든 결과 파일을 연결(concatenate)하면 돼요:

$ cat results-1.jsonl results-2.jsonl > combined-results.jsonl

예시

두 개의 서로 다른 Vault 클러스터를 스캔하고 결합된 인덱스를 만들어 봐요. 인덱스 생성에 대한 정보는 index vault를 참조해 주세요.

  1. Vault 클러스터 하나를 스캔하고 결과를 vault-index-1.jsonl에 저장한다. ``` $ VAULT_ADDR=[ADDR1] VAULT_TOKEN=[TOKEN1] vault-radar index vault
    -o vault-index-1.jsonl --index
  2. 다른 Vault 클러스터를 스캔하고 결과를 vault-index-2.jsonl에 저장한다. ``` $ VAULT_ADDR=[ADDR2] VAULT_TOKEN=[TOKEN2] vault-radar index vault
    -o vault-index-2.jsonl --index
  3. 두 스캔 결과를 결합한다. ``` $ 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 저장소를 스캔하고 결합된 파일을 만들어 봐요.

  1. git 저장소를 스캔하고 결과를 scan-repo-results-1.csv에 저장한다. ``` $ vault-radar scan repo -u -o scan-repo-results-1.csv
  2. 다른 git 저장소를 스캔하고 결과를 scan-repo-results-2.csv에 저장한다. ``` $ vault-radar scan repo -u -o scan-repo-results-2.csv
  3. 두 스캔 결과를 결합한다. ``` $ 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)