Eu quero imprimir uvuveve
no final de cada linha, para cada saída na instrução while, conforme abaixo:
var1;var2;uvuveve
var1;var2;uvuveve
var1;var2;uvuveve
var1;var2;uvuveve
var1;var2;uvuveve
Este é o meu código:
var1="somedata..."
var2="anotherdata..."
while read -u3 w1; read -u4 w2; do
echo "$w1;$w2" >> $file
done 3<<< "$var1" 4<<<"$var2"
var1, var2 imprimem várias ocorrências de um arquivo, portanto, há muitas saídas dessas variáveis. Eu tentei adicionar uvuveve
palavras assim:
var1="somedata..."
var2="anotherdata..."
string="uvuveve"
while read -u3 w1; read -u4 w2; read -u5 w3; do
echo "$w1;$w2;$w3" >> $file
done 3<<< "$var1" 4<<<"$var2" 5<<<"$string"
Essencialmente, preciso de um print da palavra em cada linha, para cada ocorrência encontrada.
Adicionando detalhes:
Var1
& var2
recuperar linhas de ocorrências que um arquivo contém e, em seguida, colocar em variáveis
Literalmente as linhas são:
var1=$(grep -A12 -B12 "$tofind" $findlogs | grep Date | cut -c 51-65 | sed -e 's! !/!g')
var2=$(grep -A12 -B12 "$tofind" $findlogs | grep Date | cut -c 67-71 | sed -e 's/://g')
Como você tem apenas texto simples em variáveis, redirecioná-los para um loop de leitura durante a leitura parece ridiculamente complicado.
O que há de errado com
Se você realmente tem arquivos, então você precisa de um loop. Se tiver-mos
então
Voltando à sua edição: use Process Substitution s
Isso faz o que você quer?
Ele assume que
var1
evar2
tem a mesma quantidade de linhas.Basicamente:
Tentei com o comando abaixo