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
substituindo espaço com pipe (delimitador) OSD UNIX para Dummies Perguntas & Respostas 6 02-16-2009 04:38
melhor forma de remover quaisquer quebras de linha csmklee Programação Shell Script e 3 01-13-2009 02:42
Substituindo URL em um arquivo com espaço dsrookie UNIX para Dummies Perguntas & Respostas 5 02-29-2008 04:58
Newbie? Se precisar de ajuda com / Then & quebras de linha ... kthatch UNIX para Dummies Perguntas & Respostas 1 05-01-2007 08:44
Remover quebras de linha a partir de um reservatório variável lyonsd Programação Shell Script e 5 09-12-2006 02:42

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-21-2009
mshulman1980 mshulman1980 is offline
Usuário
  
 

Join Date: Apr 2009
Posts: 4
Exclamation shell substituição espaço com quebras de linha

Estou análise através de um grande lslpp-LC com um arquivo de saída para o assinante. O arquivo contém várias linhas semelhantes a este:
zip: zip-2.3-3: 2.3::: C: R: Um arquivo compressão e embalagem utilitário compatível com PKZIP.:: / bin / rpm-e zip::::: 0:

Parece não haver nenhuma especializada ou secretos marcação no arquivo.
No entanto, quando tento através de leitura do arquivo em um loop, enquanto em um shell script, ele rompe com todos os espaços como uma quebra de linha, e cada linha como uma dupla ruptura.
Abaixo está o código:

Código:
#!/usr/bin/ksh
for i in `cat -n servername.lpp`
do 
echo "$i"
done

O estranho é que o gato não parece notar que as linhas estão a ser desmantelados, conforme indicado pela saída abaixo.
Eu tentei também na leitura do arquivo com uma segunda perl script (para i em `perl perlscript.pl) e tem exactamente o mesmo problema.

Saída de entrar no

Saída do arquivo de script:

Código:
 1
#Package
Name:Fileset:Level:State:PTF
Id:Fix
State:Type:Description:Destination
Dir.:Uninstaller:Message
Catalog:Message
Set:Message
Number:Parent:Automatic:EFIX
Locked:Install
Path:Build
Date
2
Java14.sdk:Java14.sdk:1.4.2.175:
:
:C:F:Java
SDK
32-bit:
:
:
:
:
:
:0:0:/:


Eu também tentei isso com comandos bash especificado. Não sei como resolver isto. Qualquer ajuda será apreciada.

Última edição por mshulman1980; em 04/21/2009 02:38.. Motivo: Substituído citação etiqueta com o código para evitar a etiqueta auto emoticon inserção
  #2 (permalink)  
Old 04-21-2009
devtakh devtakh is offline
Usuário
  
 

Join Date: Oct 2007
Local: Bangalore
Lugares: 514
forneça uma amostra de entrada e saída esperada arquivo


felicidades,
Devaraj Takhellambam
  #3 (permalink)  
Old 04-21-2009
mshulman1980 mshulman1980 is offline
Usuário
  
 

Join Date: Apr 2009
Posts: 4
Exemplo de entrada:
[CODE]
readline: readline-4.3-2: 4.3::: C: R: Uma biblioteca para leitura e retornando linhas de um terminal.:: / bin / rpm-e readline::::: 0:
sudo: sudo-1.6.7p5-3: 1.6.7p5::: C: R: Permite restrito acesso root para os usuários especificados.:: / bin / rpm-e sudo::::: 0:
unzip: unzip-5,51-1: 5,51::: C: R: Um utilitário para descompactar arquivos zip.:: / bin / rpm-e unzip::::: 0:
wget: wget-1.9.1-1: 1.9.1::: C: R: Uma utilidade para recuperar arquivos usando os protocolos HTTP ou FTP.:: / bin / rpm-e wget::::: 0:
zip: zip-2.3-3: 2.3::: C: R: Um arquivo compressão e embalagem utilitário compatível com PKZIP.:: / bin / rpm-e zip::::: 0:

[/ Code]

O resultado deverá ser idêntico. Uma vez que eu sou capaz de carregar na memória de cada linha, vou analisar, através das linhas.
  #4 (permalink)  
Old 04-21-2009
giannicello giannicello is offline
Usuário
  
 

Join Date: Sep 2001
Localização: Phoenix
Lugares: 169
Eu uso um ciclo while ... por exemplo:

IFS \u003d ":"
enquanto lê linha; fazer
echo $ linha
feito <servername.lpp
  #5 (permalink)  
Old 04-21-2009
mshulman1980 mshulman1980 is offline
Usuário
  
 

Join Date: Apr 2009
Posts: 4
giannicello: obrigado!

Eu anexado o script para adicionar a volta em dois pontos, para posterior análise.

#! / bin / bash
IFS \u003d ":"
enquanto lê linha; fazer
echo $ linha
feito <servername.lpp | tr '' ':'
  #6 (permalink)  
Old 04-21-2009
devtakh devtakh is offline
Usuário
  
 

Join Date: Oct 2007
Local: Bangalore
Lugares: 514
tente usar um ciclo while em vez ... o problema parece ser por causa do comando echo

enquanto lê linha
fazer
echo $ linha
feito < "filename"

se você quiser o número da linha também:

i \u003d 1; enquanto lê linha; do echo "$ i $ linha"; i \u003d `expr $ i + 1`; feito < "filename"


felicidades,
Devaraj Takhellambam
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 09:56.


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