スクリプトを介してUnixからWindowsサーバーに接続する

スクリプトを介してUnixからWindowsサーバーに接続する

Windowsサーバー(例:10.1.1.10)に接続しようとしています。サーバーには、複数の.zipファイルを含むRAJというフォルダがあります。これらのすべての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

おすすめ記事