shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Pegar somente o nome completo


From: jrsreis
Subject: Re: [shell-script] Pegar somente o nome completo
Date: 24 Mar 2014 10:48:10 -0700

 Olá pessoal,
   Mais uma vez agradeço a todos pelas opiniões. Júlio esse da inversão também foi bem interessante e saber como o shell nos dá infinitas possibilidades para chegarmos a um resultado. Muito legal. Peguei algumas das opções e realizei alguns testes para saber qual era o mais rápido. Abaixo, segue o script tendo ao lado de cada comando o resultado da velocidade da execução do script utilizando o comando "time ./pegarNome.sh"

pegarNome.sh
#!/bin/bash
cat agrs | while read LINHA
do
        #NOME="`echo ${LINHA% *} | cut -d" " -f2-`" # Executado em: 20s.
        #NOME="`sed 's/^[^ ]* //;s/ [^ ]*$//' <<< $LINHA`" #Executado em:22s.
        #NOME="`sed -r 's/ *$//;s/[0-9]+ (.*) .*/\1/' <<< $LINHA`" #Executado em 0m0.023s. Algumas vezes chegou a ser executado em 0.011s, 0.012s e 0.013s
        #NOME="`cut -f2- -d' ' <<<$LINHA | rev | cut -f2- -d' ' | rev`" # Executado em 0m0.028s. Algumas vezes chegou a ser executado em 0.014s, 0.015s, 0.016s, 0.018s, 0.019s, 0.021s, 0.027s, 0.029s, 0.030s, 0.031s e 0.061s. Esse é bem variável
        saida=$(echo ${LINHA#* }); echo "\"${saida% *}\"" #Executado em 0m0.010s. Algumas vezes chegou a ser executado em 0.005s, 0.006s e 0.008s
        #echo $NOME
done

  Eu preciso conhecer mais sobre o funcionamento desse comando sed. É um comando muito poderoso.

Um forte abraço a todos,
Junior Reis.
reply via email to

[Prev in Thread] Current Thread [Next in Thread]