Armazenamento de várias variáveis em um formato de banco de dados de texto simples

0

Eu tenho algumas saídas de comando salvas em variáveis no script bash, por exemplo, 3, em cada iteração de loop. Gostaria de salvar essas variáveis dentro de um banco de dados de texto simples contendo 3 campos antes que a iteração termine

A ideia é a seguinte:

If..

Command output1 > $v1
Command output2 > $v2
Command output3 > $v3

echo $v1 $v2 $v 3 >> database.txt

fi

A chamada de variável echo seria válida para armazenar o valor de variáveis em database.txt? E se quisermos que eles sejam delimitados por tabulação no texto simples?

    
por Neuls 07.12.2016 / 19:34

2 respostas

0

Em um projeto semelhante que eu criei, este funcionou bem para mim:

export TMPFILE=/tmp/yadvalues

function listselect { 
echo "Args Received = $0, $1 , $2 , $3 , $4 , $5" #Display args send to function 
echo -e "FILEID=\"$1\"\nFILENAME=\"$4\"\nFILECOMMAND=\"$5\"" > $TMPFILE
# Save some of the args in file
}
#export -f listselect

function filedisplay { 
source $TMPFILE 
ftd=$(yad --title="File Display-$FILENAME" --width=800 --height=500 \
--center --text-info --filename=$FILENAME --wrap --editable \
--button="Go Back":0)    
# Use var $FILENAME present in $TMPFILE
}
#export -f filedisplay
    
por 09.12.2016 / 00:45
0

O código que você postou capturaria a saída padrão do Command em nomes de arquivo com base nos valores do $v1 & variáveis etc. Se é isso que você está fazendo, então: no, a instrução echo no final não produzirá o conteúdo desses três arquivos, mas sim os três arquivos nomes .

Se você quiser que a saída desses três comandos seja salva, delimitada por tabulação, no arquivo database.txt , faça algo como:

printf "%s\t%s\t%s\n" "$(Command output1)" "$(Command output2)" "$(Command output3)" >> database.txt
    
por 08.12.2016 / 23:55