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
para encontrar cabeçalho no ficheiro MP3 e recuperar dados Shashi Alto Nível de programação 2 09-12-2008 04:03
Como extrair dados de um enorme arquivo? srsahu75 Programação Shell Script e 5 01-18-2008 05:06
dados de pesquisa e agarrar um enorme arquivo ting123 UNIX para Dummies Perguntas & Respostas 1 06-06-2006 10:41
sed, insira os dados de um arquivo para outro? ctcuser Programação Shell Script e 4 05-03-2005 02:43
Inserir uma linha como a primeira linha em um arquivo muito grande guincho UNIX & avançada para usuários experientes 3 03-09-2005 01:22

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 02-10-2009
deepaktanna deepaktanna is offline
Usuário
  
 

Join Date: Feb 2009
Posts: 4
Question inserir um cabeçalho em um grande arquivo de dados sem utilizar uma lima intermediária

Eu tenho um arquivo com os dados extraídos, ea necessidade de inserir um cabeçalho com uma constante string, dizem: H | PayerDataExtract

Se eu usar sed, Eu tenho que redirecionar a saída para um arquivo separado como

sed ' sed comandos' ExtractDataFile.dat> ExtractDataFileWithHeader.dat

o mesmo é verdadeiro para awk

e na sua forma simplist eu poderia dizer
echo 'H | PayerDataExtract'> ExtractDataFileWithHeader.dat
gato ExtractDataFile.dat>> ExtractDataFileWithHeader.dat
mv ExtractDataFileWithHeader.dat ExtractDataFile.dat

mas em todos os extras acima um arquivo é criado. Se eu fosse fazer isso em vi manualmente o arquivo extra poderia ser evitada.

Existe uma maneira de evitar o excesso de arquivo enquanto ainda não ter que usar manualmente vi em uma maneira interativa? Isto é ainda mais necessária se o arquivo utiliza mais de 50% e um extra filespace arquivo será apenas duplicar o meu uso, embora temporariamente
  #2 (permalink)  
Old 02-10-2009
quirkasaurus's Avatar
quirkasaurus quirkasaurus is offline
Usuário
  
 

Join Date: Jan 2009
Localização: cantão, michigan
Lugares: 388
Isso é loucura, eu concordo.

Normalmente, em situações como esta, eu empregar um "original_file_name.info" file vez.

No. Info arquivo eu vou colocar todas as informações necessárias para um outro programa / usuário
para verificar o conteúdo do arquivo enorme eu criei.

Existem outras opções. . . . como criar um manequim recorde no cabeçalho
a criação do ficheiro programa. . . e, em seguida, usando fseek () para voltar ao lúpulo
o início e substituir o cabeçalho info ....

mas você não pode ter tanto controle sobre como esse arquivo é criado.
  #3 (permalink)  
Old 02-10-2009
jim McNAMARA jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Localização: NM
Mensagens: 5.807
Existem 'editar no local "para funções GNU sed e para perl (perl -torta ' perl script aqui ').
No entanto eles fazem uso tmp nos bastidores
  #4 (permalink)  
Old 02-10-2009
ddreggors ddreggors is offline
Usuário
  
 

Join Date: Aug 2008
Lugares: 91
Você pode até utilizar o sed "inserir", juntamente com o comando-i (em linha) a opção de colocar o "cabeçalho" em uma linha específica número (como a linha 1).

Algo assim deve funcionar:

Código:
sed -i '1 i \Some Header Text Here' ExtractDataFile.dat

  #5 (permalink)  
Old 02-11-2009
angheloko's Avatar
angheloko angheloko is offline
Usuário
  
 

Join Date: Jul 2008
Localização: Portugal
Lugares: 125
Por que não criar um script ed vez? E, então, usar "patch"? Mas isso implicaria ainda um arquivo temporário no fundo que você não iria aviso.
  #6 (permalink)  
Old 02-18-2009
deepaktanna deepaktanna is offline
Usuário
  
 

Join Date: Feb 2009
Posts: 4
Unhappy

oi ddreggors / jim

Eu tentei isso - e não com o erro abaixo

sed -i'1 i \ HeaderText "ExtractDataFile.txt
sed: Opção ilegal - i

O sistema é um sunOS ussun1l 5,8 Generic_117350-60 sun4u sparc SUNW, Sun-Fire-15000

o perl opção é, para mim, como o cliente pode não querer instalar qualquer peça de software empresarial, sem causar, no entanto, enquanto o tmp é criado no / tmp espaço, e não o meu arquivo-DIR I think I'm ok - qualquer mais idéias alguém?
  #7 (permalink)  
Old 02-18-2009
ddreggors ddreggors is offline
Usuário
  
 

Join Date: Aug 2008
Lugares: 91
tente o seguinte:

Código:
sed 1'i\HeaderText' ExtractDataFile.txt

Se esta saída para a tela como se esperava (isto não atualizar o arquivo) e depois o interior 'i' (inserir comando) está a trabalhar bem.

Em seguida, tente:


Código:
sed -i 1'i\HeaderText' ExtractDataFile.txt

Se quer dá um erro, então você pode ter que atualizar sed para obter o uso do 'inline' bandeira (-i) ou inserir o comando ( 'i \ texto') para poder fazer isso sem escrever para um outro arquivo primeiro e especificando o número de uma linha.
Closed Thread

Marcadores

Tags
não interativo vi

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 02:44.


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