[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RES: [shell-script] Transformar texto
From: |
ratmmmam |
Subject: |
Re: RES: [shell-script] Transformar texto |
Date: |
Wed, 7 Jul 2004 14:28:17 -0300 |
User-agent: |
KMail/1.6.1 |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Wednesday 07 July 2004 12:04, Rodrigo Vilaça wrote:
> $ echo "2004-07-07 10:41:57.00000000000 -0300" | cut -d. -f1 | sed
> 's/[^0-9]//g'
>
> 20040707104157
galera, usasse muito o sed p/ tudo, é muito útil, mas "geralmente" ele é bem
complexo, principalmente p/ quem tá começando, mas existem diversas
ferramentas GNU que fazem o "mesmo" (em muitos casos) e simplificam bastante
tb, neste exemplo (deste e-mail) pode-se usar tb o "tr" aliado ao cut (já
demonstrado), ao invés do sed e o resultado é o mesmo:
# isso é desnecessário, fiz só p/ caber numa linha
$ i="Modify: 2004-07-07 10:41:57.000000000 -0300"
$ echo $(echo $i | cut -f1 -d. | tr -cd 0-9)
20040707104157
o cut é igual ao do Rodrigo, mas olha só o tr:
tr -cd 0-9
o "d" é p/ remover, bem conhecido, mas o "c" complementa o 0-9, ou seja, é
como se fosse o [^0-9] numa ER... aliado ao "d", neste caso, vai deletar tudo
que não for número... faz o mesmo do exemplo com o sed, mas o tr é bem mais
simples (ao meu ver) de trabalhar do que usando o sed...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
iD8DBQFA7DK22nbunCwBB+oRAv8vAKCF/1V2AJMhjw9zucxgA4rIVfQrjACdG4a6
gIi1yL8Vir9/jYJH23Tx+GE=
=SqQS
-----END PGP SIGNATURE-----