#!/bin/bash # SPDX-License-Identifier: BSD-3-Clause # # ghidra_index_merge.sh - merge the per-chunk decompiled_index.tsv files from # ghidra_batch_decompile.sh into one sorted index and print coverage stats. # # Usage: ghidra_index_merge.sh set -euo pipefail OUTDIR="${1:?usage: $0 }" head -1 "$OUTDIR"/index/bucket_*.tsv | head -1 > "$OUTDIR/decompiled_index.tsv" cat "$OUTDIR"/index/bucket_*.tsv | grep -v '^addr' | sort -t$'\t' -k1,1 >> "$OUTDIR/decompiled_index.tsv" total=$(grep -c . "$OUTDIR/decompiled_index.tsv" || true) failed=$(grep -c $'\tfailed$' "$OUTDIR/decompiled_index.tsv" || true) skipped=$(grep -c 'skipped-huge' "$OUTDIR/decompiled_index.tsv" || true) echo "[index] rows=$((total-1)) failed=$failed skipped-huge=$skipped" echo "[index] $OUTDIR/decompiled_index.tsv"