[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Formatar entrada em colunas
From: |
Darlon Vasata |
Subject: |
Formatar entrada em colunas |
Date: |
Thu, 31 Dec 2009 18:37:25 -0200 |
Olá!
Tenho um arquivo com o seguinte formato:
$cat arquivo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
E queria produzir um script que com essa entrada, me retornasse a
seguinte saída:
1 6 11
2 7 12
3 8 13
4 9 14
5 10 15
Alguém poderia me ajudar?
Tentei algo com o paste - - - , porém a saída fica "transposta" ao
jeito como preciso.
Tentei alguma coisa também o pr, mas como como preciso de muitas
colunas e os valores de entrada são grandes, ele acaba truncando
alguns valores.
Obrigado.
Darlon
From address@hidden Thu Dec 31 14:03:48 2009
Return-Path: <address@hidden>
X-Sender: address@hidden
X-Apparently-To: address@hidden
X-Received: (qmail 83045 invoked from network); 31 Dec 2009 22:03:46 -0000
X-Received: from unknown (98.137.34.45)
by m3.grp.sp2.yahoo.com with QMQP; 31 Dec 2009 22:03:46 -0000
X-Received: from unknown (HELO mail-gx0-f219.google.com) (209.85.217.219)
by mta2.grp.sp2.yahoo.com with SMTP; 31 Dec 2009 22:03:46 -0000
X-Received: by gxk19 with SMTP id 19so9517838gxk.0
for <address@hidden>; Thu, 31 Dec 2009 14:03:45 -0800 (PST)
MIME-Version: 1.0
X-Received: by 10.101.130.6 with SMTP id h6mr10411603ann.197.1262297025331; Thu,
31 Dec 2009 14:03:45 -0800 (PST)
In-Reply-To: <address@hidden>
References: <address@hidden>
Date: Thu, 31 Dec 2009 20:03:45 -0200
Message-ID: <address@hidden>
To: address@hidden
X-Originating-IP: 209.85.217.219
X-eGroups-Msg-Info: 1:12:0:0:0
From: Tiago Peczenyj <address@hidden>
Subject: Re: [shell-script] Formatar entrada em colunas
X-Yahoo-Group-Post: member; u 4465305;
y=bTMezfBfKKYj0yAEjxV8xzVCgBZi2NxRxGkb4eGKW9C4FDPQovU
X-Yahoo-Profile: grande_uosh
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable
Ola
a unica forma q vejo agora é combinar tudo em memoria usando awk.
comando | awk '{ i = (NR-1)%5; a[i] = a[i] " " $0 }
END{ for(i=0;i<5;i++) print a[i]; }'
ou se vc não se importa em ler o arquivo 5 vezes.
for i in 1 2 3 4 5; do
gsed -n "0~${i}p" arquivo
end
com certeza existem outras formas, porem não consigo imaginar nenhuma agora.
É um bom problema!!
dica tirada do sed1liner
# delete every 8th line
gsed '0~8d' # GNU sed only
sed 'n;n;n;n;n;n;n;d;' # other seds
Obs: Feliz 2010 a todos
2009/12/31 Darlon Vasata <address@hidden>
Olá!
Tenho um arquivo com o seguinte formato:
$cat arquivo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
E queria produzir um script que com essa entrada, me retornasse a
seguinte saída:
1 6 11
2 7 12
3 8 13
4 9 14
5 10 15
Alguém poderia me ajudar?
Tentei algo com o paste - - - , porém a saída fica "transposta" ao
jeito como preciso.
Tentei alguma coisa também o pr, mas como como preciso de muitas
colunas e os valores de entrada são grandes, ele acaba truncando
alguns valores.
Obrigado.
Darlon
--
Tiago B. Peczenyj
Linux User #405772
http://pacman.blog.br
[As partes desta mensagem que não continham texto foram removidas]
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Formatar entrada em colunas,
Darlon Vasata <=