Pular para o conteúdo
Visualizando 7 posts - 1 até 7 (de 7 do total)
  • Autor
    Posts
  • #83585
    Anônimo

      Pessoal, preciso ler diversos arquivos em um determinado diretório e o arquivo .CTL tem que receber o nome de cada arquivo, um de cada vez, como fazer isso em shell? como passar como parametro o nome do arquivo para o .CTL?

      #83586
      Ricardo Portilho Proni
      Participante

        Se eu entendi, é isso:

        ricardo@ricardo-laptop:~$ touch teste.CTL
        ricardo@ricardo-laptop:~$ ls -l > teste.CTL
        ricardo@ricardo-laptop:~$ cat teste.CTL
        total 28
        drwxr-xr-x 3 ricardo ricardo 4096 Oct 14 09:09 Desenv
        drwxr-xr-x 2 ricardo ricardo 4096 Nov 4 11:18 Desktop
        drwxr-xr-x 5 ricardo ricardo 4096 Nov 6 14:25 Documents
        drwxr-xr-x 4 ricardo ricardo 4096 Nov 5 12:50 Pictures
        drwxr-xr-x 2 ricardo ricardo 4096 Nov 4 07:51 Public
        drwxr-xr-x 2 ricardo ricardo 4096 Nov 4 07:51 Templates
        drwx—— 2 ricardo ricardo 4096 Nov 4 12:12 amsn_received
        -rw-r–r– 1 ricardo ricardo 0 Nov 6 15:08 teste.CTL

        #83587
        Anônimo

          é isso nao, veja:

          Tenho aqui meu arquivo .CTL e tenho que passar como parametro o nome do arquivo .txt como um parametro no INFILE:

          load data
          infile ‘C:Arquivos’
          into table TBEA_CARGA_LANCTO_CONTABIL_TMP
          fields terminated by “|” optionally enclosed by ‘”‘
          TRAILING NULLCOLS
          (
          CLCT_NUM_LAN_SAP,
          CLCT_ANOMES_MOVTO,
          )

          #83588
          Ricardo Portilho Proni
          Participante

            ah, entendi.

            Passa o nome como parâmetro:
            ./script.sh NOME_DO_ARQUIVO_CTL

            E usa o $1, ele significa o primeiro argumento passado.
            Se não me engano, não tenho um bash aqui.

            #83589
            Anônimo

              Entendi não brother. 🙄

              #83597
              Ricardo Portilho Proni
              Participante

                Faz assim:

                Vc faz um loader sem o CTL, dentro de um script bash.
                Em vez de usar o CTL, passe todos os parâmetros direto para o loader.
                Aí dentro deste shell script você poderá usar variáveis shell.
                Passe o nome do arquivo INFILE como parâmetro, e use $1 no script para referencia-lo.

                #83617
                Anônimo

                  cara eu não sei nem como passar o nome do arquivo em shell para o .CTL

                Visualizando 7 posts - 1 até 7 (de 7 do total)
                • Você deve fazer login para responder a este tópico.