The UNIX and Linux Forums  

Go Back   O UNIX e Linux Forum > Top Fóruns > UNIX & avançada para usuários experientes
.
google unix.com



UNIX & avançada para usuários experientes Especialista-a-Expert. Saiba avançado UNIX, comandos UNIX, Linux, Sistemas Operativos, Administração de Sistemas, Programação, Shell, shell scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Comparar vários campos em ficheiro1 para ficheiro2 e imprimir linha e próxima linha gillesc_mac Programação Shell Script e 7 03-16-2009 06:26
Lendo um arquivo linha por linha e de transformação para cada linha sagarparadkar Programação Shell Script e 6 03-02-2009 11:59
gato ficheiro1 ler linha por linha, então grep-A 15 linhas no fileb irongeekio Programação Shell Script e 6 01-28-2009 06:30
Preciso sugestão problema em ler um arquivo linha por linha e fazer coisas madi3d8 Programação Shell Script e 3 01-15-2009 11:33
SED ajudar (remover linha: analisar novamente:: adicionar linha) Malumake Programação Shell Script e 6 10-24-2007 06:02

Reply
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 06-28-2009
web_developer's Avatar
web_developer web_developer is offline
Usuário
  
 

Join Date: Jun 2009
Localização: Durham, NC
Posts: 3
como você analisar 1 linha em um tempo de ficheiro1 ie. linha (n) de cada linha no novo ficheiro

Ficheiro 1
<html> ta único nome do arquivo da .... quero dar arquivo \u003d> 343 ...</ html>
<html> da ta 234 </ html>
<html> da PA 542 </ html>
e assim por diante ...

Ficheiro 2
343
234
542
e assim por diante, cada linha em um arquivo 1 corresponde também com cada linha no arquivo 2

Tenho tentado vários grep, sed, Ao mesmo tempo .. ler, fazer, fazer scripts e sem proveito.

Preciso de um ksh script que irá fazer o seguinte
(readORawkOR?) 1 linha de cada vez,> OU? identificador único para o seu correspondente no código HTML, mas o identificador único do código não é, no início ou o fim da linha, a sua no meio, tenho <html> e </ html> no início e no final de cada linha ..

Qualquer exemplo scripts seria ótimo ...

Obrigado
  #2 (permalink)  
Old 06-28-2009
kshji's Avatar
kshji kshji is offline
Usuário
  
 

Join Date: Jun 2009
Localização: Finlândia
Lugares: 236
Você pode fazer isso muitas caminho, mas aqui está um exemplo como usar parâmetro expansão.
Código:
#!/bin/ksh
# read lines from stdin
while read line
do
        # remove begin of line including <html>
        a1=${line#*<html>}
        # remove end of line including </html>
        a2=${a1%</html>*}
        # remove all char except numbers (replace not numbers with nothing)
        a3=${a2//[^0-9]/}
        print $a3
done
E, em seguida, executá-lo
Código:
chmod a+x thisfile
cat file1 | ./thisfile > file2
  #3 (permalink)  
Old 06-28-2009
web_developer's Avatar
web_developer web_developer is offline
Usuário
  
 

Join Date: Jun 2009
Localização: Durham, NC
Posts: 3
em resumo .. Veja abaixo

Em ficheiro1, linha 1 (<html> único identifier23432 ... .. </ html>), deve ser> para o identificador na linha 1 em ficheiro2 (criando um novo nome de arquivo para cada registro) (23.432). Html (criando novo arquivo baseado no identificador único)

Postagem atualizada em ---------- ---------- anterior 08:51 update estava em 08:36 ----------

#! / bin / ksh

# criar counter
cnt \u003d 0
# Ler linhas a partir de stdin
enquanto lê linha
fazer
# Remover começar de linha incluindo <html>
a1 \u003d $ (linha) # * <html>
# Remover o fim da linha, incluindo </ html>
a2 \u003d $ (a1% </ html> *)
# Remove todos os char exceto números (não substituir os números com nada)
a3 \u003d $ (a2 / / [^ 0-9] /)
print $ a3
# incremento cnt para testar criação de novos identificadores únicos
cnt \u003d$(($ cnt 1))
done> $ cnt.html
$ ksh test3.ksh

test3.ksh [17]:: mau substituição
$
1 Este arquivo é criado:
0 Jun 28 08:41 0.html
em branco, e não 1,2, 3 e etc ..

Quaisquer outras ideias?

Citação:
Originally Posted by kshji View Post
Você pode fazer isso muitas caminho, mas aqui está um exemplo como usar parâmetro expansão.
Código:
#!/bin/ksh
# read lines from stdin
while read line
do
        # remove begin of line including <html>
        a1=${line#*<html>}
        # remove end of line including </html>
        a2=${a1%</html>*}
        # remove all char except numbers (replace not numbers with nothing)
        a3=${a2//[^0-9]/}
        print $a3
done
E, em seguida, executá-lo
Código:
chmod a+x thisfile
cat file1 | ./thisfile > file2
Obrigado, mas, infelizmente, isso não vai criar o que eu preciso ..

em resumo .. Veja abaixo

Em ficheiro1, linha 1 (<html> único identifier23432 ... .. </ html>), deve ser> para o identificador na linha 1 em ficheiro2 (criando um novo nome de arquivo para cada registro) (23.432). Html (criando novo arquivo baseado no identificador único)

Postagem atualizada em ---------- ---------- anterior 08:51 update estava em 08:36 ----------

#! / bin / ksh

# criar counter
cnt \u003d 0
# Ler linhas a partir de stdin
enquanto lê linha
fazer
# Remover começar de linha incluindo <html>
a1 \u003d $ (linha) # * <html>
# Remover o fim da linha, incluindo </ html>
a2 \u003d $ (a1% </ html> *)
# Remove todos os char exceto números (não substituir os números com nada)
a3 \u003d $ (a2 / / [^ 0-9] /)
print $ a3
# incremento cnt para testar criação de novos identificadores únicos
cnt \u003d$(($ cnt 1))
done> $ cnt.html
$ ksh test3.ksh

test3.ksh [17]:: mau substituição
$
1 Este arquivo é criado:
0 Jun 28 08:41 0.html
em branco, e não 1,2, 3 e etc ..

Quaisquer outras ideias?

Citação:
Originally Posted by kshji View Post
Você pode fazer isso muitas caminho, mas aqui está um exemplo como usar parâmetro expansão.
Código:
#!/bin/ksh
# read lines from stdin
while read line
do
        # remove begin of line including <html>
        a1=${line#*<html>}
        # remove end of line including </html>
        a2=${a1%</html>*}
        # remove all char except numbers (replace not numbers with nothing)
        a3=${a2//[^0-9]/}
        print $a3
done
E, em seguida, executá-lo
Código:
chmod a+x thisfile
cat file1 | ./thisfile > file2


Postagem atualizada em ---------- ---------- anterior 11:40 update estava em 08:51 ----------

Obrigado, mas, infelizmente, isso não vai criar o que eu preciso ..
  #4 (permalink)  
Old 06-28-2009
kshji's Avatar
kshji kshji is offline
Usuário
  
 

Join Date: Jun 2009
Localização: Finlândia
Lugares: 236
Não tenho certeza que você está tentando, tipo arquivo de entrada exemplo e aquilo que você gostaria de ser resultado exemplo.
Código:
while ...
do
     # a3 is the key value, look first example script
     > $a3.html
done
Código:
cnt=1
while read line
do
    # create/overwrite empty file using some variable value
    > $cnt.html
    # or put something to file
    print something > $cnt.html
   ((cnt+=1))
done
  #5 (permalink)  
Old 06-28-2009
web_developer's Avatar
web_developer web_developer is offline
Usuário
  
 

Join Date: Jun 2009
Localização: Durham, NC
Posts: 3
Dfn arquivo de entrada e de saída do arquivo (s) dfn

O meu arquivo de entrada é uma lista de código html para produtos que tenham uma chave única como seus números de identificação no âmbito da descrição do código ..

test1
<html> (o código de produto #####)</ html> <\u003d\u003d uma página completa
Eu queria usar o cnt valor para representar um único meio de uma nova e diferente createing arquivo antes de cada linha no arquivo de forma que ele teste1 em essenct, é criar um novo arquivo HTML para cada linha que tenho ensaiado e verificado é separado por um carrage retorno e não retorna carage separadores ou na própria linha.


filename.txt é possível um outro arquivo de entrada Tentei utilizar mv um script para alterar o nome do cnt.html arquivos criados pelo primeiro script
Reply

Marcadores

Tags
analisar novas linhas no arquivo

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:00.


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