|
|
- #!/usr/bin/env bash
-
- shopt -s nullglob
-
- cache_dir=$(clipctl cache-dir)
- cache_file=$cache_dir/line_cache
-
- declare -A cksums
-
- while IFS= read -r line; do
- cksum=$(cksum <<< "$line")
- cksums["$cksum"]="$line"
-
- # Are all cache entries represented by a file?
- full_file=$cache_dir/$cksum
- if ! [[ -f $full_file ]]; then
- printf 'cache entry without file: %s -> %s\n' "$line" "$full_file" >&2
- fi
- done < <(cut -d' ' -f2- < "$cache_file")
-
- # Are all files represented by a cache entry?
- for file in "$cache_dir"/[012346789]*; do
- cksum=${file##*/}
- line=${cksums["$cksum"]-_missing_}
- if [[ $line == _missing_ ]]; then
- printf 'file without cache entry: %s\n' "$file"
- fi
- done
|