awk para juntar colunas

1. awk para juntar colunas

Zacarias Fernandes
Dragonlord2000

(usa Outra)

Enviado em 10/03/2021 - 13:20h

a=`seq 1 15`
b=`awk '{print $1,$2}' a.txt | cut -c 6-`
c=`awk '{print $6}' a.txt | cut -c 18- | awk '{print 2021 - $1}'`
d=`awk '{print $8}' a.txt | cut -c 12-`
e=`awk '{print $10}' a.txt | cut -c 11-`
f=`for ((i=0; i<$c; i++));do echo 12 \n; done`
awk '{print $a $b $c $d $e $f}'

I want the output
a1:b1:c1:d1:e1:f1
a2:b2:c2:d2:e2:f2
...


  


2. Re: awk para juntar colunas

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 10/03/2021 - 17:04h


I want the output
a1:b1:c1:d1:e1:f1
a2:b2:c2:d2:e2:f2

--------------------------------------------
I do not understand what you want!
What do you want in the output file?
Is the input file: seq 1 15 > a.txt?

______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________




3. Re: awk para juntar colunas

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 10/03/2021 - 22:18h


Do you have an a.txt content to show us?


4. Re: awk para juntar colunas

Zacarias Fernandes
Dragonlord2000

(usa Outra)

Enviado em 11/03/2021 - 03:02h


Supondo que cada variavel de texto (a, b, c, d, e, f) tem uma coluna.
Ex
A=
1
2
3
4
...

B=
LOUIS
CAMILA
TULLY
ROBERT
...

C=
2003
2008
1996
1989
...

D (...)
F (...)

Eu pretendo juntas tudo da seguinte forma
1:LOUIS:2003:...:...
2:CAMILA:2008:...:...
3:TULLY:1996:...:...
4:ROBERT:1989:...:...
(...)

Uma hipótese seria `paste -d':' a b c d e f` mas para isso teria de criar ficheiros de texto e nao pretendo isso, pretendo usar apenas as variaveis.


5. Re: awk para juntar colunas

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 12/03/2021 - 21:36h


Dragonlord2000 escreveu:


Supondo que cada variavel de texto (a, b, c, d, e, f) tem uma coluna.
Ex
A=
1
2
3
4
...

B=
LOUIS
CAMILA
TULLY
ROBERT
...

C=
2003
2008
1996
1989
...

D (...)
F (...)

Eu pretendo juntas tudo da seguinte forma
1:LOUIS:2003:...:...
2:CAMILA:2008:...:...
3:TULLY:1996:...:...
4:ROBERT:1989:...:...
(...)

Uma hipótese seria `paste -d':' a b c d e f` mas para isso teria de criar ficheiros de texto e nao pretendo isso, pretendo usar apenas as variaveis.

Vc pode fazer refirecionamento p descritores e usar paste.ex
A &> 3
B &> 4
C &> 5
D&> 6
E &> 7
F &> 8
paste 3 4 5 6 7 8



6. Re: awk para juntar colunas

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 13/03/2021 - 00:41h

Dragonlord2000 escreveu:


Supondo que cada variavel de texto (a, b, c, d, e, f) tem uma coluna.
Ex
A=
1
2
3
4
...

B=
LOUIS
CAMILA
TULLY
ROBERT
...

C=
2003
2008
1996
1989
...

D (...)
F (...)

Eu pretendo juntas tudo da seguinte forma
1:LOUIS:2003:...:...
2:CAMILA:2008:...:...
3:TULLY:1996:...:...
4:ROBERT:1989:...:...
(...)

Uma hipótese seria `paste -d':' a b c d e f` mas para isso teria de criar ficheiros de texto e nao pretendo isso, pretendo usar apenas as variaveis.


Boa noite, agora está compreensível....
Segue sugestão:
va="1 2 3 4 5"
vb="nome1 nome2 nome3 nome4 nome5"
vc='2003 2008 1996 1974 1994'
awk '{for(n=1;n<=(NF/3);n++)print $n":"$(n+5)":"$(n+10)}' <<< "$va $vb $vc"
1:nome1:2003
2:nome2:2008
3:nome3:1996
4:nome4:1974
5:nome5:1994

Observações:
No exemplo, cada variável tem 5 campos,
por isso, (n+5), (n+10)...
va,vb,vc => (NF/3)
______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts