Commit d25ccbf3 authored by Marc-Antoine Drouin's avatar Marc-Antoine Drouin
Browse files

add file checking for P7

parent 83424471
......@@ -152,8 +152,8 @@ if [[ $ERREUR != 0 ]]; then
exit 1
fi
if [[ $fich_type != "SIRTA" && $fich_type != "MF" ]]; then
echo "Le type de fichier doit etre SIRTA ou MF"
if [[ $fich_type != "SIRTA" && $fich_type != "MF" && $fich_type != "P7" ]]; then
echo "Le type de fichier doit etre SIRTA, MF ou P7"
exit 1
fi
......@@ -233,45 +233,58 @@ fi
# create temp directory for data
tmp_check=$(mktemp -d -p "$REP_TRAVAIL")
consignerMsg "Vérification des données brutes"
for file_ in "${input_files[@]}"; do
consignerMsg "Vérification des données brutes"
tmp_file_=$(basename "$file_")
cl31_cor="$tmp_check/${tmp_file_%.*}.cor"
if [[ $fich_type == "SIRTA" ]]; then
awk --posix -v cl31_cor="$cl31_cor" '\
BEGIN {l=1;p=0;e=0;printf "" > cl31_cor}
NR<3 {print $0 >> cl31_cor;next}
l==1 {if ($0 ~ /^-[0-9-]{10} [0-9:]{8}.$/) {l++;bloc=$0;e=0;next} else if (e==1) {next} else e=1}
l==2 {if ($0 ~ /^[\001]CL020521[\002].$/) {l++;bloc=bloc"\n"$0;next} else e=1}
l==3 {if (NF==5) {l++;bloc=bloc"\n"$0;next} else e=1}
l==4 {if (NF==10) {l++;bloc=bloc"\n"$0;next} else e=1}
l==5 {if (NF==10) {l++;bloc=bloc"\n"$0;next} else e=1}
l==6 {if (length($0) == 3851) {l++;bloc=bloc"\n"$0;next} else e=1}
l==7 {if ($0 ~ /^[\003][0-9a-z]{4}[\004].$/) {p=1;bloc=bloc"\n"$0} else e=1}
p==1 {printf bloc"\n" >> cl31_cor;l=1;p=0}
e==1 {err++;print NR;l=1}
END {if ($0 ~ "File") printf "\n%s\n",$0>>cl31_cor; if (err>0)print "err=",err}' "$file_"
elif [[ $fich_type == "MF" ]]; then
awk --posix -v cl31_cor="$cl31_cor" '\
BEGIN {l=1;p=0;e=0;printf "" > cl31_cor}
l==1 {if ($0 ~ /^[\001]$/) {l++;bloc=$0;e=0;next} else if (e==1) {next} else e=1}
l==2 {if ($0 ~ /^-[0-9-]{10} [0-9:]{8}$/) {l++;bloc=bloc"\n"$0;next} else e=1}
l==3 {if ($0 ~ /^ CL120521[\002].$/) {l++;bloc=bloc"\n"$0;next} else e=1}
l==4 {if (NF==5) {l++;bloc=bloc"\n"$0;next} else e=1}
l==5 {if (NF==10) {l++;bloc=bloc"\n"$0;next} else e=1}
l==6 {if (NF==10) {l++;bloc=bloc"\n"$0;next} else e=1}
l==7 {if (length($0) == 3851) {l++;bloc=bloc"\n"$0;next} else e=1}
l==8 {if ($0 ~ /^[\003][0-9a-z]{4}[\004].$/) {p=1;bloc=bloc"\n"$0} else e=1}
p==1 {printf bloc"\n" >> cl31_cor;l=1;p=0}
e==1 {err++;print NR;l=1}
END {if ($0 ~ "File") printf "\n%s\n",$0>>cl31_cor; if (err>0)print "err=",err}' "$file_"
fi
case $fich_type in
"SIRTA")
awk --posix -v cl31_cor="$cl31_cor" '\
BEGIN {l=1;p=0;e=0;printf "" > cl31_cor}
NR<3 {print $0 >> cl31_cor;next}
l==1 {if ($0 ~ /^-[0-9-]{10} [0-9:]{8}.$/) {l++;bloc=$0;e=0;next} else if (e==1) {next} else e=1}
l==2 {if ($0 ~ /^[\001]CL020521[\002].$/) {l++;bloc=bloc"\n"$0;next} else e=1}
l==3 {if (NF==5) {l++;bloc=bloc"\n"$0;next} else e=1}
l==4 {if (NF==10) {l++;bloc=bloc"\n"$0;next} else e=1}
l==5 {if (NF==10) {l++;bloc=bloc"\n"$0;next} else e=1}
l==6 {if (length($0) == 3851) {l++;bloc=bloc"\n"$0;next} else e=1}
l==7 {if ($0 ~ /^[\003][0-9a-z]{4}[\004].$/) {p=1;bloc=bloc"\n"$0} else e=1}
p==1 {printf bloc"\n" >> cl31_cor;l=1;p=0}
e==1 {err++;print NR;l=1}
END {if ($0 ~ "File") printf "\n%s\n",$0>>cl31_cor; if (err>0)print "err=",err}' "$file_"
;;
"MF")
awk --posix -v cl31_cor="$cl31_cor" '\
BEGIN {l=1;p=0;e=0;printf "" > cl31_cor}
l==1 {if ($0 ~ /^[\001]$/) {l++;bloc=$0;e=0;next} else if (e==1) {next} else e=1}
l==2 {if ($0 ~ /^-[0-9-]{10} [0-9:]{8}$/) {l++;bloc=bloc"\n"$0;next} else e=1}
l==3 {if ($0 ~ /^ CL120521[\002].$/) {l++;bloc=bloc"\n"$0;next} else e=1}
l==4 {if (NF==5) {l++;bloc=bloc"\n"$0;next} else e=1}
l==5 {if (NF==10) {l++;bloc=bloc"\n"$0;next} else e=1}
l==6 {if (NF==10) {l++;bloc=bloc"\n"$0;next} else e=1}
l==7 {if (length($0) == 3851) {l++;bloc=bloc"\n"$0;next} else e=1}
l==8 {if ($0 ~ /^[\003][0-9a-z]{4}[\004].$/) {p=1;bloc=bloc"\n"$0} else e=1}
p==1 {printf bloc"\n" >> cl31_cor;l=1;p=0}
e==1 {err++;print NR;l=1}
END {if ($0 ~ "File") printf "\n%s\n",$0>>cl31_cor; if (err>0)print "err=",err}' "$file_"
;;
"P7")
awk --posix -v cl31_cor="$cl31_cor" '\
BEGIN {l=1;p=0;e=0;printf "" > cl31_cor}
NR<3 {print $0 >> cl31_cor;next}
l==1 {if ($0 ~ /^-[0-9-]{10} [0-9:]{8}.$/) {l++;bloc=$0;e=0;next} else if (e==1) {next} else e=1}
l==2 {if ($0 ~ /^[\001]CL020123[\002].$/) {l++;bloc=bloc"\n"$0;next} else e=1}
l==3 {if (NF==5) {l++;bloc=bloc"\n"$0;next} else e=1}
l==4 {if (NF==10) {l++;bloc=bloc"\n"$0;next} else e=1}
l==5 {if (NF==10) {l++;bloc=bloc"\n"$0;next} else e=1}
l==6 {if (length($0) == 7501) {l++;bloc=bloc"\n"$0;next} else e=1}
l==7 {if ($0 ~ /^[\003][0-9a-z]{4}[\004].$/) {p=1;bloc=bloc"\n"$0} else e=1}
p==1 {printf bloc"\n" >> cl31_cor;l=1;p=0}
e==1 {err++;print NR;l=1}
END {if ($0 ~ "File") printf "\n%s\n",$0>>cl31_cor; if (err>0)print "err=",err}' "$file_"
esac
done
mapfile -t input_files < <(find "$tmp_check" -name "*.cor" | sort)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment