Eu tenho um arquivo de texto como este
REP1.bam ./CONTROL/CONTROL.bam
Este é um arquivo separado por tabulação. Eu quero dividir a linha na guia/espaço e armazenar colunas individuais como elementos de matriz separados.
eu fiz algo assim
while read -r line; do arr=(${line{///}); echo ${arr[1]}; done < test.txt
Isso me dá .CONTROLCONTROL.bam e não preserva as barras.
Como posso consertar isso.
Suponho que você quis dizer
${line///}
em vez de$line{///}
. Isso realmente lhe daria,.CONTROLCONTROL.bam
já que você está pedindo explicitamente ao shell para substituir as barras por nada ... ($line{///}
seria apenas o valor da variável, com um literal{///}
anexado.)Eu não sei exatamente por que você está fazendo isso. Tudo o que você precisa fazer para obter as duas colunas em duas variáveis distintas é usar
read -r var1 var2
. Então você pode armazená-los em uma matriz ou usá-los diretamenteOu use
read -ra arr
(no Bash), para dividir os campos diretamente em um array.