Colar dados em colunas

1. Colar dados em colunas

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 02/12/2019 - 14:55h

pessoas .. tenho o arquivo "A" cujo conteúdo é
Abacate;
Melão;
Abacaxi;
Jujuba;


o comando "grep -o" me retornou
16
25
37
65


pergunta: Como jogar a saída do "grep -o" no arquivo "A" para que o arquivo "A" fique assim:

Abacate;16
Melão;25
Abacaxi;37
Jujuba;65


A principio estou fazendo da pior forma póssivel ... jogando a saida do grep para um arquivo e depois os unido com paste !!




  


2. Re: Colar dados em colunas

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 02/12/2019 - 16:58h

Mauriciodez escreveu:

pessoas .. tenho o arquivo "A" cujo conteúdo é
Abacate;
Melão;
Abacaxi;
Jujuba;


o comando "grep -o" me retornou
16
25
37
65


pergunta: Como jogar a saída do "grep -o" no arquivo "A" para que o arquivo "A" fique assim:

Abacate;16
Melão;25
Abacaxi;37
Jujuba;65


A principio estou fazendo da pior forma póssivel ... jogando a saida do grep para um arquivo e depois os unido com paste !!

Mauricio,
"grep -o"....
É muito vago!
"Desconfio" que esta procurando pelo conteúdo do arquivo A, em outro arquivo e tais números são o numero da linha, é isso?
Se for isso, é bem simples...
O awk resolve.......

______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


3. Re: Colar dados em colunas

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 02/12/2019 - 19:22h


msoliver escreveu:
Mauricio,
"grep -o"....
É muito vago!
"Desconfio" que esta procurando pelo conteúdo do arquivo A, em outro arquivo e tais números são o numero da linha, é isso?
Se for isso, é bem simples...
O awk resolve.......


velho ... não tem nada de vago .... tudo foi bem direto e explicado ... preciso jogar a saída do grep em um arquivo, só que incrementando uma nova coluna ...

------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




4. Re: Colar dados em colunas

augusto
marimbondo

(usa Outra)

Enviado em 03/12/2019 - 02:19h

Vamos ver se dá para complicar esse comando (só se tiverem a mesma altura), simula o Paste:
awk 'NR==FNR{a[i++]=$0};{b[x++]=$0;};{k=x-i};END{for(j=0;j<i;) print a[j++],b[k++]}'   file1.txt  file2.txt

awk 'NR==FNR{a[i++]=$0};{b[x++]=$0;};{k=x-i};END{for(j=0;j<i;) print a[j++],b[k++]}' <( cmd | grep 'expr') arq1.txt

cmd | grep 'expr' | awk 'NR==FNR{a[i++]=$0};{b[x++]=$0;};{k=x-i};END{for(j=0;j<i;) print a[j++],b[k++]}' arq1.txt

https://www.unix.com/shell-programming-and-scripting/161826-how-combine-2-files-into-1-file-2-column...

Você não pode criar um novo arquivo com o resultado?

Eu vi várias soluções com Paste e Pr... Parece ser bom o seu método..
https://stackoverflow.com/questions/17095306/how-to-add-a-column-from-a-file-to-another-file/1709532...


5. Re: Colar dados em colunas

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 03/12/2019 - 11:15h


Ryuk escreveu:
...
Funciona, mas o paste adiciona tabs.

Ficaria assim, então:
$ paste arq1.txt <(grep -Eo '[0-9]+' arq2.txt) | tr -d '[:blank:]' >resultado.txt 

ou
$ paste -d "" arq1.txt <(grep -Eo '[0-9]+' arq2.txt) >resultado.txt 


A solução com paste eu já uso, o que eu estou querendo é otimizar isso sacou .. olha só ... o que eu exemplifiquei foi só 1 arquivo e 1 grep ... só que na realidade são mais de 600 arquivos.

então pelo meu algoritimo seria assim:


i=0
enquanto i < 700
faça um grep-o no arquivo (1+ i) .txt
cole o resultado na coluna (1+ i) do arquivo final
i = i+1


o critério do grep tb seria definido por variável, mas isso não vem ao caso o que eu preciso mesmo é achar uma solução para

cole o resultado na coluna 1+ i do arquivo final 


hoje minha solução está sendo criar arquivos, quero acabar com isso.


------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




6. Re: Colar dados em colunas

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 04/12/2019 - 18:12h

Mauricio, boa tarde.
Segue sugestão para colocar o resultado do "grep -o",
em outro arquivo.

Obs.: $var, tem a saída do "grep -o"
NL=$(wc -l <<< "$var") #Nº de linhas, 
for ((n=1;n<=$NL;n++));do
str=$(sed -n "${n}p" <<< $var);
sed -i "${n}s/$/${str}/" arquivo_destino;
done



______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


7. Re: Colar dados em colunas

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 05/12/2019 - 11:06h


msoliver escreveu:

Mauricio, boa tarde.
Segue sugestão para colocar o resultado do "grep -o",
em outro arquivo.



funcionou sim ... a principio não deu pq o arquivo destino estava vazio ... mas aí tentei com a primeira coluna já feita e a parada bombou ... vou testar agora no arquivo original !!

------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts