Conectando-se ao servidor Windows do unix ao script

0

Estou tentando se conectar a um servidor do Windows, digamos 10.1.1.10. Este servidor tem uma pasta chamada RAJ na qual existem vários arquivos .zip. Todos esses arquivos zip contêm um arquivo de texto chamado XYZ.txt. Agora eu tenho que mesclar o conteúdo desses arquivos XYX.txt de cada arquivo .zip e criar um novo documento de texto com o arquivo mesclado.

Então, como posso me conectar ao servidor Windows através do unix e extrair apenas os dados do XYZ.txt em cada arquivo?

    
por Swapnil 18.04.2015 / 09:11

1 resposta

1

Esta é uma questão muito ampla envolvendo várias ferramentas ... Primeiro, para conectar um compartilhamento do Windows, você precisará do comando mount.cifs . Está disponível em cifs-utils package (o nome do pacote pode variar dependendo da distribuição).

Um exemplo simples de seu uso:

mount.cifs //10.1.1.10/RAJ /mnt/windows -o rw,username=Swapnil

man mount.cifs para ver todas as opções disponíveis, dependendo das suas necessidades.

Em seguida, você pode escrever um script simples para listar todos os arquivos zip , extraí-los e concatená-los. Um exemplo simples:

# For each zip file in this share, do
for f in 'find /mnt/windows -name "*.zip"' ; do
  # Make a temporary directory
  TMPDIR='mktemp -d'
  # unzip in temporary directory
  unzip -d ${TMPDIR} ${f}
  # cat all the txt files into one
  cat ${TMPDIR}/*.txt >> /pth/to/result.txt
  # remove temp directory
  rm -Rf ${TMPDIR}
done
    
por 18.04.2015 / 09:56

Tags