#!/bin/bash requirements_dir="$(realpath "$(dirname $0)/..")" usage() { echo " Usage: req.sh list [options...] : req | dml | ass | need options: -S lists only unsatisfied requirements " } while getopts ":S" o do case "$o" in S) unsatisfied=1 shift 1 ;; *) usage exit 1 ;; esac done type="$1" id="$2" if [ "$type" == "" ] then usage exit 1 fi case "$type" in req) dir="${requirements_dir}/catalogue" ;; dml) dir="${requirements_dir}/data_models" ;; ass) dir="${requirements_dir}/assumptions" ;; need) dir="${requirements_dir}/needs" ;; *) usage exit 1 esac if [ "$unsatisfied" == 1 ] then filenames=(${dir}/${type}-*${id}.md) for filename in "${filenames[@]}" do satisfied="$(cat $filename | grep -E "^Satisfied by:")" if [ -z "$satisfied" ] then echo "$(basename "$filename" | sed "s/.md$//")" fi done exit 0 fi filenames=(${dir}/${type}-*${id}.md) for filename in "${filenames[@]}" do echo "$(basename "$filename" | sed "s/.md$//")" done