Skip to content

Instantly share code, notes, and snippets.

@pdelteil
Created October 2, 2019 20:43
Show Gist options
  • Save pdelteil/15c3d3e604147a38b0b9381e686fb148 to your computer and use it in GitHub Desktop.
Save pdelteil/15c3d3e604147a38b0b9381e686fb148 to your computer and use it in GitHub Desktop.
#!/bin/bash
#Export_Large_Projects tester
if [ $# -lt 2 ]
then
echo "USE $0 CSV_FILE SAS_FILE"
exit 1
fi
declare -a EQ_to_CSV=("info_informacin_de_c_v_0" "f23_registro_contact_v_1" "f18_actualizacion_in_v_2" "f3_ecografia_abdomin_v_3" "f3_ecografia_abdomin_v_4" "f3_ecografia_abdomin_v_5" "f10_encuesta_de_segu_v_6" "f22_encuesta_colecis_v_7" "f5_pareamiento_segun_v_8" "f4_examen_fisico_seg_v_9" "f22_encuesta_colecis_v_10" "f12_recoleccion_de_e_v_11" "f25_sospecha_cncer_c_v_12" "f11a_revisin_de_fich_v_13" "f11a_revision_de_fic_v_14" "f20_formularios_falt_v_15" "f19_salida_del_estud_v_16")
declare -a EQ_to_SAS=("info_informacin_de_contacto_complete" "f23_registro_contacto_seguimiento_complete" "f18_actualizacion_informacion_de_participante_complete" "f3_ecografia_abdominal_complete" "f3_ecografia_abdominal_segunda_complete" "f3_ecografia_abdominal_tercera_complete" "f10_encuesta_de_seguimiento_complete" "f22_encuesta_colecistectomia_complete" "f5_pareamiento_segundo_complete" "f4_examen_fisico_segundo_complete" "f22_encuesta_colecistectomia_segunda_complete" "f12_recoleccion_de_especimenes_quirurgicos_complete" "f25_sospecha_cncer_clnico_complete" "f11a_revisin_de_ficha_clnica_basal_complete" "f11a_revision_de_ficha_clinica_segunda_complete" "f20_formularios_faltantes_complete" "f19_salida_del_estudio_complete")
CSV=$1
SAS=$2
TMP_CSV="csv.txt"
TMP_SAS="sas.txt"
NOT_FOUND_SAS=0
NOT_FOUND_CSV=0
FOUND=0
RED='\033[0;31m'
NC='\033[0m'
YELLOW='\033[0;33m'
head -n 1 $CSV | tr ',' '\n' > $TMP_CSV
for i in "${EQ_to_CSV[@]}"
do
echo -n ",$i" >> $TMP_CSV
done
sed 's/\$//g' $SAS |grep -v "='" |grep -v informat |grep -v format |tail -n +5 | head --lines=-22 > $TMP_SAS
for i in "${EQ_to_SAS[@]}"
do
echo " $i" >> $TMP_SAS
done
#read csv
echo -e "${RED} In CSV but not in SAS ${NC}"
while read -r lineCSV;
do
if grep -q "$lineCSV" $TMP_SAS; then
#echo "found "
FOUND=$((FOUND + 1))
else
echo -e "${YELLOW} $lineCSV ${NC}"
NOT_FOUND_CSV=$((NOT_FOUND_CSV + 1))
fi
done < $TMP_CSV
#read sas
echo -e "\n${RED}In SAS but not in CSV${NC}"
FOUND=0
NOT_FOUND=0
while read -r lineSAS;
do
if grep -q "$lineSAS" $TMP_CSV; then
#echo "found "
FOUND=$((FOUND + 1))
else
echo -e "${YELLOW} $lineSAS ${NC}"
NOT_FOUND_SAS=$((NOT_FOUND_SAS + 1))
fi
done < $TMP_SAS
echo -e "\nTotal Found: $FOUND"
echo "Total Not Found in SAS: $NOT_FOUND_SAS"
echo "Total Not Found in CSV: $NOT_FOUND_CSV"
#cleaning
rm -f $TMP_CSV $TMP_SAS
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment