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 > UNIX para Dummies Perguntas & Respostas
.
google unix.com



UNIX para Dummies Perguntas & Respostas Se não tiver certeza de onde se pode postar uma pergunta Unix ou Linux, postá-lo aqui. Todos os UNIX e Linux novatos bem vindos!

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Empresa Unix Roundup: O Fantasma do Unix Futuro - Server Watch iBot UNIX e Linux RSS Notícias 0 12-19-2007 12:20
Executando comandos UNIX remotamente no Windows caixa de Unix caixa - evite entrar senha D.kalpana UNIX para Dummies Perguntas & Respostas 1 04-20-2007 05:24
FTP script para enviar um arquivo a partir de um diretório para outro unix unix servidor diretor raja_1234 Programação Shell Script e 1 11-30-2006 07:57
Sco Unix Open Server, Windows Computadores Problema Acesso Unix Shared Files Help !!!!! haggo Filesystems, Discos e Memória 2 08-23-2006 11:39
História do Unix Pergunta: Por que filenames / dirnames caso sentsitive em Unix? Deckard UNIX para Dummies Perguntas & Respostas 3 03-26-2005 01:59

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-16-2008
guest6 guest6 is offline
Usuário
  
 

Join Date: May 2008
Posts: 8
Ajuda no unix

Oi,

Sou um iniciante em UNIX shell scripts. Gostaria de fazer as seguintes coisas:

a) Ler 3 novas linhas de um arquivo (file2.txt) e anexando-os no final de um outro arquivo file1.txt.

Eu escrevi o script como segue:

#! / bin / sh

set i \u003d 0
set count \u003d 0
count \u003d (wc-l file2.txt)
while (i-le $ count)
fazer
i \u003d i + 3;
cabeça-i file2.txt>> file1.txt
feito

Estou recebendo um erro na linha "contar \u003d (wc-l file2.txt)". Há algo errado com a minha sintaxe, porque o script não está funcionando. Por favor, ajudem.

Obrigado

Última edição por guest6; em 05/16/2008 04:31..
  #2 (permalink)  
Old 05-16-2008
era era is offline Forum Advisor  
Herder do Inútil Gatos (On Sabático)
  
 

Join Date: Mar 2008
Localização: / lá / é / só / bin / sh
Posts: 3.652
ajustar não é útil sh comando neste contexto, e você precisa ter para evitar espaços em ambos os lados do sinal igual. Também tome cuidado para colocar espaços onde você precisar deles.

Código:
#! /bin/sh

i=0
count=$(wc -l < file2.txt)
while [ $i -le $count ]
do
   i=`expr $i + 3`
   head -n $i file2.txt >> file1.txt
done
Como tal, basta head-n 3 file2.txt>> file1.txt deve fazer o que quiser. Ou talvez me interpretem mal descrição do seu problema. De qualquer forma, o loop vai ler a partir do início de file2.txt em cada iteração, o que não parece útil.

Última edição por época; em 05/16/2008 04:48.. Motivo: Note que a primeira cabeça lê n linhas de cada vez
  #3 (permalink)  
Old 05-16-2008
guest6 guest6 is offline
Usuário
  
 

Join Date: May 2008
Posts: 8
Obrigado .. i espaços removidos e agora esse erro se foi ..

Estou recebendo um erro ao mesmo tempo em circuito fechado. O erro é

"[: Muitos argumentos"

Estou usando o ciclo while porque quero ler 3 primeiras linhas de file2.txt e anexar-las em file1.txt. Em seguida, execute o programa e apagar cerca de 3 linhas anexadas. Em seguida, acrescente os próximos 3 linhas de file2.txt para file1.txt e executar o programa. Tenho que fazer isso até todas as linhas em file2.txt foram lidas.

Poderia sugerir uma forma de apagar as últimas três linhas do arquivo.

Eu aprecio sua ajuda instantâneas.

Obrigado
  #4 (permalink)  
Old 05-16-2008
era era is offline Forum Advisor  
Herder do Inútil Gatos (On Sabático)
  
 

Join Date: Mar 2008
Localização: / lá / é / só / bin / sh
Posts: 3.652
Gostaria de sugerir a manter a leitura do arquivo usando ler em vez de.

O [erro é provavelmente porque você esqueceu de colocar na <onde indicado. Pode ajudar a adicionar uma declaração para imprimir as variáveis pouco antes da enquanto assim você pode ver o que está a comparar.

Código:
echo "Here we are just before the while -- count is '$count' and i is '$i'"
  #5 (permalink)  
Old 05-16-2008
guest6 guest6 is offline
Usuário
  
 

Join Date: May 2008
Posts: 8
Como faço para me livrar do erro no ciclo while
  #6 (permalink)  
Old 05-16-2008
era era is offline Forum Advisor  
Herder do Inútil Gatos (On Sabático)
  
 

Join Date: Mar 2008
Localização: / lá / é / só / bin / sh
Posts: 3.652
Desculpe, mas pós-editado enquanto você estava provavelmente escrito que comentar; rolar para trás até ver a minha editado destacamento.
  #7 (permalink)  
Old 05-16-2008
guest6 guest6 is offline
Usuário
  
 

Join Date: May 2008
Posts: 8
Eu reverificados meu código. Eu adicionei a linha que você sugeriu. Estou recebendo a saída

Aqui estamos apenas antes do tempo - contagem é 9 e i é 0
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 08:30.


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