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 > 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
Necessidade de serach se existe uma nova linha de caracteres na última linha em um arquivo sunilbm78 UNIX para Dummies Perguntas & Respostas 10 02-29-2008 02:15
lote apagar utilizando encontrar, arquivos com o caractere # tphyahoo UNIX para Dummies Perguntas & Respostas 0 05-30-2006 01:05
Localizar arquivos que contenham um caracter null Bab00shka UNIX para Dummies Perguntas & Respostas 5 12-16-2005 10:41
apagar uma linha baseada no primeiro caractere da linha borncrazy UNIX para Dummies Perguntas & Respostas 2 12-06-2005 03:27
final da linha de caracteres zomboo Programação Shell Script e 5 12-30-2004 05:30

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 01-24-2008
dbsurf dbsurf is offline
Usuário
  
 

Join Date: Jan 2008
Lugares: 23
necessidade de encontrar último caractere em cada linha em todos os arquivos

Oi,

Preciso ler cada linha em todos os arquivos. Se último caractere em cada linha não é, (vírgula), então eu preciso anexar próxima linha also.Here cada linha pode consistir de vários semicolons (. mas eu preciso ler só últimas character.I necessidade de conseguir isso utilizando casca script.And Preciso remover THT última semicoluna also.I necessidade de conseguir isso em todos os arquivos em um diretório e i necessidade de reorientar os arquivos modificados para o mesmo diretório.
Como conseguir isso?

Por exemplo o meu ficheiro consiste
asdfgh; adffg; afdfg;
adfsffvfgggg;
aedfdsfs
fsff;

Aqui eu preciso de saída como
asdfgh; adffg; afdfg
adfsffvfgggg
aedfdsfs fsff

Como conseguir isso?
  #2 (permalink)  
Old 01-24-2008
Yogesh Sawant's Avatar
Yogesh Sawant Yogesh Sawant is offline Forum Staff  
Part Time Full Time Moderador e Pai
  
 

Join Date: Sep 2006
Localização: Rossem, Tazenda
Mensagens: 1.086
se tiver GNU sed:
Código:
sed -i 's/;$//' file*
ou utilizando Perl:
Código:
perl -pi -e 's/;$//' file*
  #3 (permalink)  
Old 01-24-2008
dbsurf dbsurf is offline
Usuário
  
 

Join Date: Jan 2008
Lugares: 23
Oi,

Se não existir um ponto e vírgula não anexando sua próxima linha com a sua actual line.And também não funciona se o meu arquivo contém caracteres como pipe line '|'.

Por exemplo, se o arquivo contém

utilizador | encontrar | ghjk | gg |;
sufgh | fghj | hgj
Dhj | hjk | jkl;
a sua não remoção semicoluna
e sua não anexando 3red linha para linha 2.
  #4 (permalink)  
Old 01-24-2008
quinteto quintet is offline
Usuário
  
 

Join Date: Jun 2006
Lugares: 94
tente este

sed -e: um e-'/;$/! N; s / \ n / /; ta '-e' s /;$//' arquivo
  #5 (permalink)  
Old 01-24-2008
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
viciado
  
 

Join Date: Jan 2007
Localização: Варна, България / Milano, Italia
Mensagens: 2.875
Código:
awk 'ORS=/;$/?RS:FS{sub(/;$/,"")}1' filename
Utilize nawk / ou usr/xpg4/bin/awk no Solaris.
  #6 (permalink)  
Old 01-24-2008
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
viciado
  
 

Join Date: Jan 2007
Localização: Варна, България / Milano, Italia
Mensagens: 2.875
No que diz respeito a todo o trabalho está em causa:

Código:
awk 'FNR == 1 {
  system("[ -f \""fnt"\" ]&&mv "fnt" "fn)
  fn = FILENAME
  fnt = FILENAME"__"++c
}
ORS = /;$/ ? RS : FS {
  sub(/;$/,"")
  print > fnt
} END {
  system("[ -f \""fnt"\" ]&&mv "fnt" "fn)
}' filenames*
Utilize nawk / ou usr/xpg4/bin/awk no Solaris.
  #7 (permalink)  
Old 01-24-2008
dbsurf dbsurf is offline
Usuário
  
 

Join Date: Jan 2008
Lugares: 23
Oi quinteto

utilizando esta sed -e: um e-'/;$/! N; s / \ n / /; ta '-e' s /;$//' arquivo seu redirecionamento para o meu diretório não novamente
Closed Thread

Marcadores

Tags
perl, sed

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 08:28.


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