通过脚本从unix连接到Windows服务器

通过脚本从unix连接到Windows服务器

我正在尝试连接到 Windows 服务器(例如 10.1.1.10)。该服务器有一个名为 RAJ 的文件夹,其中有多个 .zip 文件。所有这些 zip 文件都包含一个名为 XYZ.txt 的文本文件。现在我必须合并每个 .zip 文件中这些 XYX.txt 文件的内容,并使用合并的文件创建一个新的文本文档。

那么我如何通过unix连接到windows服务器并仅从每个文件中的XYZ.txt中提取数据呢?

答案1

这是一个非常广泛的问题,涉及多个工具...首先,要连接 Windows 共享,您将需要mount.cifs命令。它可以从包中获取cifs-utils(包的名称可能因发行版而异)。

其使用的一个简单示例:

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

man mount.cifs根据您的需要查看所有可用选项。

然后,您可以编写一个简单的脚本来列出所有zip文件、提取它们并连接它们。一个简单的例子:

# 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

相关内容