The UNIX and Linux Forums  
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.

Go Back   O UNIX e Linux Forum > Top Fóruns > UNIX para Dummies Perguntas & Respostas
.
google unix.com



UNIX para Dummies Perguntas & Respostas Se não tiver certeza de onde se pode postar uma pergunta Unix ou Linux, postá-lo aqui. Todos os UNIX e Linux novatos bem vindos!

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
obter caracteres de saída de um comando em uma variável muaz Programação Shell Script e 3 06-02-2008 10:13
CUT comando - corte caracteres de fim de string JWilliams AIX 2 01-28-2008 09:12
como manter newline caracteres no comando execução resultado? pankai Programação Shell Script e 2 01-02-2008 05:41
Comando para obter apenas os três personagens do Mês prashanth_gs UNIX para Dummies Perguntas & Respostas 2 02-12-2007 07:38
Comando do Unix para encontrar Nul Personagens fundidor UNIX para Dummies Perguntas & Respostas 2 05-01-2005 12:32

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 04-25-2007
IHulky IHulky is offline
Usuário
  
 

Join Date: Apr 2007
Posts: 4
Sed comando com caracteres

Oi todos, espero que alguém pode me ajudar:

Na seguinte linha:

PRIHDR; 2809999444; 2007 6.1; 20070423; 9; 4021473000003; 4021473000003, 8714231530688; euros;

O resultado deverá ser:

PRIHDR; 2809999444; 2007 6.1; 20070423; 4; 4021473000003; 4021473000003, 8714231530688; euros;

Eu tentei algumas variações sobre o seguinte comando:

sed 's /; 9;; / 4;;;' <oldfile> newfile

Quando eu executar esse comando diz satisfeita com o que fazer "," como eu posso resolver esta questão?

Thanks in advance,

IHulky

ps as outras linhas do documento (linha 2 e mais) têm de ser copiados, assim como para o novo arquivo.

Última edição por IHulky; em 04/25/2007 08:57..
  #2 (permalink)  
Old 04-25-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Usuário
  
 

Join Date: Sep 2006
Mensagens: 2.539
você pode usar awk? dizer que você só tem essa linha em um arquivo
Código:
# awk -F ";" 'OFS=";"{$5=4;print}' file
PRIHDR;2809999444;2007 6.1;20070423;4;;4021473000003;;4021473000003;8714231530688;EUR;;
  #3 (permalink)  
Old 04-25-2007
IHulky IHulky is offline
Usuário
  
 

Join Date: Apr 2007
Posts: 4
Citação:
Originally Posted by ghostdog74
você pode usar awk? dizer que você só tem essa linha em um arquivo
Código:
# awk -F ";" 'OFS=";"{$5=4;print}' file
PRIHDR;2809999444;2007 6.1;20070423;4;;4021473000003;;4021473000003;8714231530688;EUR;;
Funcionou perfeitamente, obrigado, você pode me dizer como manter o comando na primeira linha. Nas linhas abaixo alguns personagens foram alterados para 4.

Se é qualquer úteis apenas a primeira linha começa com PRIHDR

Obrigado
  #4 (permalink)  
Old 04-25-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Usuário
  
 

Join Date: Sep 2006
Mensagens: 2.539
Código:
awk -F ";" 'BEGIN {OFS = ";"} /^PRIHDR/{$5=4;print}  ' file
  #5 (permalink)  
Old 04-25-2007
IHulky IHulky is offline
Usuário
  
 

Join Date: Apr 2007
Posts: 4
Já para testá-lo ainda mais, quando eu executar o comando que imprime o correto ecrã, embora o arquivo em si não é alterada.

Obrigado pela informação, tenho que testá-lo ainda mais amanhã, pois é 02:30 da manhã aqui na Holanda e trabalho começa às 08:00 ..

Se você tem alguma idéia do Gosto de ouvi-los.

Obrigado novamente
  #6 (permalink)  
Old 04-25-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Usuário
  
 

Join Date: Sep 2006
Mensagens: 2.539
awk não altera arquivos, a menos que você pergunte a ele. Só você pode redirecionar a saída para outro arquivo usando o redirecionamento sinal ( "comando awk"> anotherfile)
  #7 (permalink)  
Old 04-26-2007
anbu23 anbu23 is offline Forum Advisor  
Usuário
  
 

Join Date: Mar 2006
Local: Bangalore, Índia
Mensagens: 1.398
Citação:
Originally Posted by IHulky
Oi todos, espero que alguém pode me ajudar:

Na seguinte linha:

PRIHDR; 2809999444; 2007 6.1; 20070423; 9; 4021473000003; 4021473000003, 8714231530688; euros;

O resultado deverá ser:

PRIHDR; 2809999444; 2007 6.1; 20070423; 4; 4021473000003; 4021473000003, 8714231530688; euros;

Eu tentei algumas variações sobre o seguinte comando:

sed 's /; 9;; / 4;;;' <oldfile> newfile

Quando eu executar esse comando diz satisfeita com o que fazer "," como eu posso resolver esta questão?

Thanks in advance,

IHulky

ps as outras linhas do documento (linha 2 e mais) têm de ser copiados, assim como para o novo arquivo.
Adicionar uma barra
Código:
sed '/^PRIHDR/s/;9;;/;4;;/' <oldfile >newfile
mv newfile oldfile
Código:
perl -i -ne ' s/;9;;/;4;;/ if ( /^PRIHDR/ ); print ' file
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 01:49.


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