DOE"): por exemplo," /> Consecutive espaços dentro de entrada a ser convertido em espaço único - O UNIX e Linux Forum
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
Como comparar nulo e espaço usando única condição se jayakumarrt UNIX para Dummies Perguntas & Respostas 3 05-16-2008 06:13
Substituir espaços em branco por uma única guia, e alinhamento à direita Jae Programação Shell Script e 1 08-08-2007 11:58
a ler duas vezes consecutivas para o espaço em nomeficheiro comandos bash james_falco UNIX para Dummies Perguntas & Respostas 1 07-17-2007 05:32
substituindo único espaço no argumento convenientstore Programação Shell Script e 7 04-25-2007 02:02
única entrada shell script? quipy Programação Shell Script e 1 10-03-2002 09:18

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 08-31-2007
NinersFan NinersFan is offline
Usuário
  
 

Join Date: Aug 2007
Localização: Toronto
Posts: 3
Consecutive espaços dentro de entrada a ser convertido em espaço simples

Estou lendo de um arquivo que é ponto e vírgula delimitada. Um dos campos contém 2 espaços separando o primeiro eo último nome (no campo 4. - "John <espaço> <espaço> DOE"):

por exemplo, TORONTO, ONTARIO; 1 Yonge Street; João Silva; CANADÁ

Quando leio esse recorde e quer eco / imprimir a tela, ou escreva para a saída, a 2 espaços foram convertidas para um único espaço. Preciso manter todos os espaços intactos quando escreve para a saída.

Aqui está um trecho do código que estou usando. Estou tentando carregar uma série de registros em uma matriz com a finalidade de executar lógica sobre os conteúdos e, em seguida, saída para vários tipos de saída (s):

exec 3 <1 $ # Open input
exec 4> # $ 1.out Open saída
deixe CNF_REC_CNT \u003d CNF_REC_CNT 1
leia-u3 REC_BUF [CNF_REC_CNT]
print "tampão é:" $ (REC_BUF [CNF_REC_CNT]) ""

Como posso resolver isso?
  #2 (permalink)  
Old 08-31-2007
jim McNAMARA jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Localização: NM
Mensagens: 5.800
experimente:

Código:
IFS="" && read  REC_BUF[CNF_REC_CNT]
IFS=" "

  #3 (permalink)  
Old 08-31-2007
NinersFan NinersFan is offline
Usuário
  
 

Join Date: Aug 2007
Localização: Toronto
Posts: 3
Ainda não funciona. Thx para tentar. Como mesmos resultados.
  #4 (permalink)  
Old 08-31-2007
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Localização: Ashburn, Virginia
Mensagens: 9.131
Você precisa colocar a variável dentro de aspas simples quando você imprimi-lo. Você acha que fez isso, mas você não:

print "tampão é:" $ (REC_BUF [CNF_REC_CNT]) ""

Primeiro citou string: "buffer é:"
Cotadas string: $ (REC_BUF [CNF_REC_CNT])
Segundo citado string: ""

Talvez você queria:
print "tampão é: \" $ (REC_BUF [CNF_REC_CNT]) \ ""
que agora é citado uma única string.
  #5 (permalink)  
Old 09-04-2007
NinersFan NinersFan is offline
Usuário
  
 

Join Date: Aug 2007
Localização: Toronto
Posts: 3
Isso pode ter sido um erro da minha parte. Meu programa faz escrever a saída ok exceto pelo fato de que o espaço duplo surge como um espaço único.

I'm going to vala utilizando a 'ler' comando e tente utilizar uma combinação de gato, grep e awk para rasgar através do arquivo. Se eu faço um:

REC_BUF \u003d `grep '^' $ 1`

e, em seguida, saída para monitor, a 2 espaços aparecem. Por isso eu sei que é um 'ler' característica específica.
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 05:35.


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