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