The UNIX and Linux Forums  


Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Excluir uma porção de uma linha utilizando shell script Loy81 Programação Shell Script e 3 08-25-2008 02:54
Cortar uma parte de uma linha separada por tubo delimitador ragavhere UNIX para Dummies Perguntas & Respostas 3 06-21-2008 01:29
programa awk para selecionar uma porção de uma linha anju Programação Shell Script e 3 01-11-2008 06:33
apagando parte da linha com o sed (apenas uma vez) gammaman UNIX para Dummies Perguntas & Respostas 1 07-14-2005 09:40
apagando parte da linha com o sed gammaman UNIX para Dummies Perguntas & Respostas 5 07-10-2005 11:47

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 10-10-2008
vanand420 vanand420 is offline
Usuário
  
 

Join Date: Jul 2005
Lugares: 60
Imprimir uma porção de uma linha

Oi,
Estou enfrentando um pequeno problema ...
Eu tenho uma linha como esta:
asdcvashfasashXXXXxxxzxcadd:sdcashjqdasdsmgdkdaxdsnd;
Quero imprimir apenas uma parte da linha ou seja, a partir de 5 caracteres da esquerda ":" e até ";", ou seja, neste caso, seria
"xcadd: sdcashjqdasdsmgdkdaxdsnd;"
A duração do direito mais corda pode variar, mas terminar com ";".
Também o que fazer se eu quiser imprimir apenas 5 caracteres da esquerda para a ";"

Thanks in advance.
  #2 (permalink)  
Old 10-10-2008
jim McNAMARA jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Localização: NM
Mensagens: 5.787

Código:
echo "$mylineoftext" | awk '{ print substr($0, index($0, ":") ) }'  # question 1
echo "$mylineoftext" | awk '{ print substr($0, length($0) -5 ) }'  # question #2

  #3 (permalink)  
Old 10-10-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programador, autor
  
 

Join Date: Mar 2007
Localização: Toronto, Canadá
Posts: 2.361
Citação:
Originally Posted by vanand420 View Post
Oi,
Estou enfrentando um pequeno problema ...
Eu tenho uma linha como esta:
asdcvashfasashXXXXxxxzxcadd:sdcashjqdasdsmgdkdaxdsnd;
Quero imprimir apenas uma parte da linha ou seja, a partir de 5 caracteres da esquerda ":" e até ";", ou seja, neste caso, seria
"xcadd: sdcashjqdasdsmgdkdaxdsnd;"
A duração do direito mais corda pode variar, mas terminar com ";".

Use casca parâmetro expansão; não há necessidade de desperdiçar tempo e ciclos CPU com comandos externos.


Código:
line="asdcvashfasashXXXXxxxzxcadd:sdcashjqdasdsmgdkdaxdsnd;"
temp=${line%?????:*}
printf "%s\n" "${line#"$temp"}"

Citação:
Também o que fazer se eu quiser imprimir apenas 5 caracteres da esquerda para a ";"


Código:
line="asdcvashfasashXXXXxxxzxcadd:sdcashjqdasdsmgdkdaxdsnd;"
temp=${line%??????*}
temp=${line#"$temp"}
printf "%s\n" "${temp%;}"

Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 04:32.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0