Existe uma maneira de destacar a parte da linha onde um erro está acontecendo

0

Estou executando este script e obtendo um erro como este, mas estou tendo extrema dificuldade em detectar exatamente onde o erro está acontecendo. Existe uma opção quando indica exatamente quais caracteres estão causando o erro?

./ISCNhelperScripts/script.sh: line 34: syntax error near unexpected token '('
./ISCNhelperScripts/script.sh: line 34: 'egrep -o "[)+,]dic\([1-2]?[0-9XY];[1-2]?[0-9XY]\)\([pq][0-9][0-9];[pq][0-9][0-9]\)" input | cut -c 2- |  tr '(' '\t' | tr ')' '\t' | tr ";" "\t" | awk 'BEGIN {OFS = "\t"} {print $2,$3,$4,$5}' > dicentrics'
    
por Jacob 15.08.2016 / 21:37

1 resposta

2

Divida seu comando para que o número da linha na mensagem de erro forneça uma dica

egrep -o "[)+,]dic([1-2]?[0-9XY];[1-2]?[0-9XY])([pq][0-9][0-9];[pq][0-9][0-9])" input | \  
cut -c 2- | \
tr '(' '\t' | \ 
tr ')' '\t' | \  
tr ";" "\t" | \  
awk 'BEGIN {OFS = "\t"} {print $2,$3,$4,$5}' > dicentrics

Parece que você tem problema devido a chaves sem escape () in egrep statement. Eu começaria esaping-los com barra invertida \ e / ou substituindo as aspas duplas " pelos únicos ' in egrep statement.

    
por 15.08.2016 / 21:58