|
From: | Julio C. Neves |
Subject: | Re: [shell-script] Re: Melhor maneira de cortar parte de uma linha. |
Date: | Thu, 1 May 2014 15:32:12 -0300 |
Valeu grande Flagner!
Tb poderia ser testado matando o grep:
df | awk '/sda/{print $6}'
Bom dia pessoal,Obrigado pelas sugestões.Fiz o teste sugerido pelo Julio e, abaixo estão os resultados:
cut -d " " -f2 <(grep sda2 /proc/mounts)
real 0m0.741s
user 0m0.036s
sys 0m0.080s
grep sda2 /proc/mounts | cut -d " " -f2
real 0m0.538s
user 0m0.012s
sys 0m0.092s
df | sed -n 's|/dev/sda2.* ||p'
real 0m0.764s
user 0m0.028s
sys 0m0.076s
mount | grep sda2 | awk '{print $3}'
real 0m0.918s
user 0m0.012s
sys 0m0.144s
df | grep sda2 | awk '{print $6}'
real 0m0.967s
user 0m0.032s
sys 0m0.120s
df | grep sda2 | rev | cut -d " " -f 1 | rev
real 0m1.046s
user 0m0.032s
sys 0m0.200sEm 30 de abril de 2014 22:57, Julio C. Neves <address@hidden> escreveu:Fala Mercês,ainda faltou testarcut -d" " -f2 <(grep ^proc /proc/mounts)Mas tb deve ser lentoUsando o df eu faria:df | sed -n 's|/dev/sda1.* ||p'
Vale a pena testar esses 2 métodos tb, mas eu faria dentro de um for. Algo mais ou menos assim:time for ((i=1; i<200; i++)){df | sed -n 's|/dev/sda1.* ||p' > /dev/null # A saída não interessa, portanto vamos#+ jogá-la fora para não prejudicar o tempo}Em 30 de abril de 2014 21:33, Fernando Mercês <address@hidden> escreveu:Hummm,
Não acho que o pipe deva ser *sempre* evitado. A construção <<<$(cmd) me parece mais lenta por conta da substituição de comandos.Não fiz testes apurados, mas:
---
$ time cut -d" " -f2 <<< $(grep ^/dev/sda1 /proc/mounts)
/boot
real 0m0.007s
user 0m0.000s
sys 0m0.000s
$ time grep ^/dev/sda1 /proc/mounts | cut -d' ' -f2
/boot
real 0m0.004s
user 0m0.000s
sys 0m0.000s
---Abraços.Att,
Fernando Mercês
Linux Registered User #432779
www.mentebinaria.com.br
------------------------------------
"Ninguém pode ser escravo de sua identidade; quando surge uma possibilidade de mudança é preciso mudar". (Elliot Gould)2014-04-30 21:22 GMT-03:00 Flavio Steimacher <address@hidden>:Ops,agora vi o sda2 lá...cut -d" " -f2 <<< $(grep sda2 /proc/mounts)Em 30 de abril de 2014 21:18, Flavio Steimacher <address@hidden> escreveu:
Boa noite,Eu tentaria evitar o pipe e executar da seguinte forma:
$cut -d" " -f2 < /proc/mounts
Acredito ser mais performático.Em 30 de abril de 2014 21:16, Fernando Mercês <address@hidden> escreveu:Em tempo, dessa forma há um programa a menos envolvido (df).Ops, me corrigindo:Não pode usar o -F, já que tô pedi ao grep para casar no início da linha com o ^, por segurança.
$ grep ^/dev/sda1 /proc/mounts | cut -d' ' -f2
Abraço.Att,
Fernando Mercês
Linux Registered User #432779
www.mentebinaria.com.br
------------------------------------
"Ninguém pode ser escravo de sua identidade; quando surge uma possibilidade de mudança é preciso mudar". (Elliot Gould)2014-04-30 21:14 GMT-03:00 <address@hidden>:Boa noite Flagner
vc tb pode filtrar as colunas que o df exibe usando --outputO comando dessa forma mostra o ponte de montagem e o dispositivodf --output=target,sourceParticularmente eu prefiro com o uso do awkvar=$( df --output=target,source | grep sda2 | awk '{print $1}' )mas eu prefiro assim fazer o awk filtrar a linha no lugar do grep
var=$( df --output=target,source | awk '$2 ~ /sda/ {print $1}' )
É só uma sugestão adicionalAbraços--
Atenciosamente,
Flavio Steimacher
DBA Oracle
LPIC1 - Linux Professional Institute Certified
CLA - Novell Certified Linux Administrator
DCTS - Novell Data Center Technical Specialist
--
Atenciosamente,
Flavio Steimacher
DBA Oracle
LPIC1 - Linux Professional Institute Certified
CLA - Novell Certified Linux Administrator
DCTS - Novell Data Center Technical Specialist
[Prev in Thread] Current Thread [Next in Thread]
- Re: [shell-script] Re: Melhor maneira de cortar parte de uma linha., Flagner Camargo, 2014/05/01
- Re: [shell-script] Re: Melhor maneira de cortar parte de uma linha., Julio C. Neves <=
- Prev by Date: Re: [shell-script] Re: Melhor maneira de cortar parte de uma linha.
- Next by Date: Ausência de mensagens
- Previous by thread: Re: [shell-script] Re: Melhor maneira de cortar parte de uma linha.
- Next by thread: Ausência de mensagens
- Index(es):