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 > 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
executar código em arquivos na ordem de classificação-ajuda! epi8 Programação Shell Script e 1 05-20-2008 03:30
ordenar por data e concatenar três primeiros jlarios UNIX para Dummies Perguntas & Respostas 4 05-19-2008 02:49
Como concatenar 2 ficheiros utilizando awk? pdtak Programação Shell Script e 2 03-12-2008 01:12
Comparar 2 ficheiros ordenados varungupta Programação Shell Script e 7 01-25-2008 01:07
Concatenar data para nome do arquivo sierra_aar UNIX para Dummies Perguntas & Respostas 4 02-14-2002 09: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 06-07-2008
docaia docaia is offline
Usuário
  
 

Join Date: Jan 2008
Lugares: 15
concatenar arquivos ordenados por data

Sou um novato no script escrito, eu tentei fazer o seguinte
Tenho um conjunto de arquivos ordenados por data, no formato e YYMMDD.s. X e. R
Preciso concatenar um ficheiro cabeçalho para esses tipos de arquivos para que eu usei o seguinte código
Código:
echo "enter Swath number"
read s
echo "please enter first date and MMDD press ENTER"
read i
echo "please enter last date and MMDD  press ENTER"
read j
for((i; i <= j; i++))
do
cat NJSC_Alam_Ph1_Blk1_3D_HDR_S /ud/SPECSDATA/Final_SPS/Alam3D/Swath_${s}/08${i}.s  > /ud/SPECSDATA/Final_SPS/Alam3D/Swath_${s}/08${i}_Final.s

cat NJSC_Alam_Ph1_Blk1_3D_HDR_R /ud/SPECSDATA/Final_SPS/Alam3D/Swath_${s}/08${i}.r  > /ud/SPECSDATA/Final_SPS/Alam3D/Swath_${s}/08${i}_Final.r

cat NJSC_Alam_Ph1_Blk1_3D_HDR_X /ud/SPECSDATA/Final_SPS/Alam3D/Swath_${s}/08${i}.x  > /ud/SPECSDATA/Final_SPS/Alam3D/Swath_${s}/08${i}_Final.x

done
Espero que a concatenar os arquivos baseado no utilizador.
Tenho 2 problemas, o primeiro em que não é isso, por exemplo, se eu entrar no valor de i e j a ser 0530 e 0531 para 30 e 31 de maio ele procura por um arquivo chamado 08345 em vez de 080.530.
o outro problema é como posso eu fazer o script para o trabalho por 2 meses diferentes? como eu tenho o primeiro arquivo como 300508 e último arquivo como 050608, o loop não vai o trabalho lá
  #2 (permalink)  
Old 06-08-2008
mschwage mschwage is offline
Usuário
  
 

Join Date: Jul 2005
Localização: Oak Park, IL
Lugares: 102
Problema número 1 é que você está misturando com data matemática inteiro matemática. Você não pode adicionar 1 ao seu "0530" e esperar para chegar no dia seguinte. Por exemplo, não existe inteiro "0530". Existe um inteiro "530", porém, e se você adiciona 1 a ela que você vai ter "531". ... Não o "0531" que você precisa. E, como você mencionou, adicionando 1 ao que você não vai chegar em junho.

O problema da data aritmética reservatório é bastante difícil. Ver "Data de matemática no Linux shell script?": Suporte Técnico da Peça Dave Taylor! .

Ao fazer sua comparação, você pode testar para o seu fim em qualquer condição de duas maneiras:
  • Se a data atual \u003d\u003d a data final (string comparação)
  • Se o actual número de iterações segundo desde a época é inferior ou igual à data final do número de segundos desde a época.
Além disso, aqui está um jovem de mais gotchas você precisa estar ciente de. Se você fizer a sua data matemática utilizando "número de segundos desde a época",
  • Você pode querer o seu primeiro encontro a ser efectivamente à meia-noite do primeiro dia, ou seja, o 0'th segundo do dia.
  • Você pode querer sua segunda data a ser efectivamente 23:59:59 desse dia.
Isto porque se você fizer o seu "begin <\u003d fim" comparação, você pode comparar 3 no final de 2 dias no fim do dia e que iteração o script não será executado.

Digo isso porque é conveniente para fazer realmente a data matemática por:
  1. Converter a primeira data para o número de segundos desde a época
  2. Incremente a data, acrescentando 86.400 (o número de segundos em um dia) a contar da data de cada iteração.
Você também deve estar ciente de quando o ano muda. Não se esqueça que você pode ser comparando datas em Janeiro para datas no mês de Dezembro.
-mschwage
  #3 (permalink)  
Old 08-16-2008
docaia docaia is offline
Usuário
  
 

Join Date: Jan 2008
Lugares: 15
Data variável definição

obrigado pela resposta, fico com o que você quer dizer bem, apenas um pedido:
Qual é o comando de script para identificar uma data variável? existe uma variável chamada data?
Eu tentei algo como data i, i como data e fraca, mas não funcionou.

Eu também tentei "data-d $ (i) +"% y% m% d "" mas ele disse que eu não seja um comando

você pode me ajudar sobre isso?

Última edição por docaia; em 08/16/2008 03:54.. Motivo: acrescentando alguns info
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 02:19.


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