Lê colunas do arquivo em variáveis separadas

4

Eu preciso ler a seguinte entrada em colunas separadas como variáveis? input.txt

b73_chr10   w22_chr9
w22_chr7    w22_chr10
w22_chr8    w22_chr6

Eu escrevi o seguinte comando, mas acho que não está correto.

value1=$(echo $line| awk -F\ '{print $1}' input.txt)
value2=$(echo $line| awk -F\ '{print $2}' input.txt)
    
por shome 08.02.2016 / 21:21

1 resposta

10

Você pode usar o read shell embutido:

while IFS=" " read -r value1 value2 remainder
do
    ...
done < "input.txt"

Campos extras, se houver, aparecerão em 'resto'. O padrão IFS (inter-field-seperator) padrão do shell, que consiste em caracteres de espaço em branco, será usado para dividir cada linha em seus campos componentes.

    
por 08.02.2016 / 21:39