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
Como alterar campo SEPERATOR onthetopo Programação Shell Script e 2 05-11-2007 12:11
Usando | como um SEPERATOR em aderir firvin UNIX para Dummies Perguntas & Respostas 5 03-28-2006 11:23
Vírgula SEPERATOR premar Programação Shell Script e 6 02-17-2006 04:16
como posso usar um Word para SEPERATOR qrshat Sun Solaris 3 02-10-2006 07:08
Awk Campo SEPERATOR Ajuda insania Programação Shell Script e 3 11-11-2005 04:29

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 05-26-2009
pinnacle pinnacle is offline
Usuário
  
 

Join Date: Apr 2009
Lugares: 182
SUBSEP SEPERATOR problema com awk

O seguinte código remove nova linha com a aspas duplas
Estou substituindo newline com carácter de aspas com 123.
Código:
intermediatenewline_remover () {
    typeset Infile=$1
    nawk -F"," '{ record = record $0
 if ( gsub( /"/, "&", record ) % 2 ) 
 {
     record = record "123"
     next
 }
    }
    { 
 print record
 record = ""
    }' Infile
}
Aqui estou combinando 4a e 5a campo com "123", como SEPERATOR
Código:
    nawk -F"|" '{print $2,$3,$4"123"$5}' OFS="|" file
Substituindo SEPERATOR Vírgula e "123" com o espaço.
O problema aqui é se os dados que "123", que também irá ser substituído com o espaço.
Eu quero apenas "123" SEPERATOR de ser substituída.

Código:
    nawk -F"|" '{gsub(",", " ",$3);gsub("123", " ",$3);print}' OFS="|" file
Tentei usar SUBSEP
Este código em vez de usar valor para SUBSEP "\ 034" a sua inserção "SUBSEP"

Código:
intermediatenewline_remover () {
    typeset Infile=$1
    nawk -F"," '{ record = record $0
 if ( gsub( /"/, "&", record ) % 2 ) 
 {
     record = record "SUBSEP"
     next
 }
    }
    { 
 print record
 record = ""
    }' Infile
}
e como lidar com essa mudança neste código

Código:
    nawk -F"|" '{print $2,$3,$4"123"$5}' OFS="|" file
    nawk -F"|" '{gsub(",", " ",$3);gsub("123", " ",$3);print}' OFS="|" file
  #2 (permalink)  
Old 05-26-2009
jim McNAMARA jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Localização: NM
Mensagens: 5.720
SUBSEP é uma vírgula, por omissão é o que \ 034 é. Basta usar ","

Você não pode formatar o seu débito com printf (formato-corda, [valor], ...);
  #3 (permalink)  
Old 05-26-2009
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderador
  
 

Join Date: Feb 2005
Localização: Boston, MA
Mensagens: 5.119
você estiver usando uma SUBSEP como um string, E não como uma variável BUILTIN - solta as aspas.
  #4 (permalink)  
Old 05-26-2009
pinnacle pinnacle is offline
Usuário
  
 

Join Date: Apr 2009
Lugares: 182
Citação:
Originally Posted by vgersh99 View Post
você estiver usando uma SUBSEP como um string, E não como uma variável BUILTIN - solta as aspas.

Graças Vgersh99.

jim McNAMARA --
Citação:
echo "," | od-BC
0000000 054 012
, \ N
0000002
Vírgula Octol valor é 054.
Qualquer forma subsep obras para agora.
Obrigado.
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 03:46.


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