From 9fff7b78f0b182443fc31bc2c340367ef81626cd Mon Sep 17 00:00:00 2001
From: Pedro Folloni Pesserl <fpesserl7@gmail.com>
Date: Wed, 22 Feb 2023 11:38:04 -0300
Subject: [PATCH] tshell: fix grep in part 1; error functions in part 3

---
 tshell/tshell_p1.sh |  6 +++---
 tshell/tshell_p2.sh |  4 ++--
 tshell/tshell_p3.sh | 37 +++++++++++++++++++++++++++++++++++++
 3 files changed, 42 insertions(+), 5 deletions(-)

diff --git a/tshell/tshell_p1.sh b/tshell/tshell_p1.sh
index 7b3e448..df94547 100755
--- a/tshell/tshell_p1.sh
+++ b/tshell/tshell_p1.sh
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 if [ $# -lt 3 ] || [ $# -gt 5 ]; then
-	>&2 echo "Uso: <dpm> <ds> <t1> [<t2> [<t3>]]"
+	>&2 echo "Uso: ./tshell_p1.sh <dpm> <ds> <t1> [<t2> [<t3>]]"
 	exit 1
 fi
 
@@ -13,7 +13,7 @@ T3=$5
 
 if [ ! -d $FONTE ]; then
 	>&2 echo "Erro: $FONTE não é um diretório."
-	exit 1
+	exit 2
 fi
 
 FONTE=$(realpath $FONTE)
@@ -26,6 +26,6 @@ DESTINO=$(realpath $DESTINO)
 
 cd $FONTE
 for ARQ in *.csv; do
-	awk '(NR>1)' $ARQ | grep -iF "$T1" | grep -iF "$T2" | grep -iF "$T3" > $DESTINO/$ARQ
+	awk '(NR>1)' $ARQ | grep -iwF "$T1" | grep -iwF "$T2" | grep -iwF "$T3" > $DESTINO/$ARQ
 done
 cd - > /dev/null
diff --git a/tshell/tshell_p2.sh b/tshell/tshell_p2.sh
index 715f7a6..01b878b 100755
--- a/tshell/tshell_p2.sh
+++ b/tshell/tshell_p2.sh
@@ -1,14 +1,14 @@
 #!/bin/bash
 
 if [ $# -ne 2 ]; then
-	>&2 echo "Uso: <dcsv> <dsin>"
+	>&2 echo "Uso: ./tshell_p2.sh <dcsv> <dsin>"
 	exit 1
 fi
 
 testa_diretorio() {
 	if [ ! -d $1 ]; then
 		>&2 echo "Erro: $1 não é um diretório."
-		exit 1
+		exit 2
 	fi
 }
 
diff --git a/tshell/tshell_p3.sh b/tshell/tshell_p3.sh
index a9bf588..cab83f3 100755
--- a/tshell/tshell_p3.sh
+++ b/tshell/tshell_p3.sh
@@ -1 +1,38 @@
 #!/bin/bash
+
+if [ $# -ne 2 ]; then
+	>&2 echo "Uso: ./tshell_p3.sh <axml> <acsv>"
+	exit 1
+fi
+
+confere_arq_entrada() {
+	IFS=. read -r NOME EXT <<< $1
+	if [ $EXT != "xml.gz" ]; then
+		>&2 echo "Erro: formato incorreto para $1 (deve ser .xml.gz)"
+		exit 2
+	fi
+	if [ ! -f $1 ]; then
+		>&2 echo "Erro: $1 não existe"
+		exit 3
+	fi
+}
+
+confere_arq_saida() {
+	IFS=. read -r NOME EXT <<< $1
+	if [ $EXT != "csv" ]; then
+		>&2 echo "Erro: formato incorreto para $1 (deve ser .csv)"
+		exit 2
+	fi
+
+	echo "version+pmid<title<abstract<keywords" > $1
+}
+
+XML=$1
+confere_arq_entrada $XML
+XML=$(realpath $XML)
+
+CSV=$2
+confere_arq_saida $CSV
+CSV=$(realpath $CSV)
+
+
-- 
GitLab