como definir variáveis usando o IFS

1

Eu tenho um arquivo, input.txt , com os seguintes valores:

field1|value1
field2|value2
field3|d:\foldername
field4|null

Como faço para definir variáveis como column1 e column2 para que eu possa avaliar column2 para null e exibir uma mensagem de erro?

Eu posso fazer isso usando o DOS com bastante facilidade, mas não consigo descobrir como fazer isso no bash. Eu pesquisei por um bom tempo e sei que o IFS é uma boa opção, mas não sei como fazer isso acontecer em bash .

    
por atoscano 29.04.2017 / 06:21

1 resposta

0

Se você usar IFS e read -r , poderá dividir as linhas em campos, conforme necessário, e processar os campos.

#!/usr/bin/env bash
while IFS='|' read -r column1 column2;  do
    if [ "$column2" == null ] ; then
        echo Found null: "$column1|$column2"
    fi
done < input.txt
    
por 29.04.2017 / 06:36