サプライヤから受け取ったファイルをカウントする簡単なレポートを作成したいと考えています。空港(サプライヤー)商品は一言で言えば、すなわちタイムスタンプでファイルをカウントする
CUU~<part_number>~20120401.TXT
YVR~<part_number>~20120402.TXT
LAX~<part_number>~20120402.TXT
から出荷された後、各ファイルの名前は、私たちが受け取ったファイルは、Microsoft WindowsサーバーからZIP圧縮形で私たちに来ます。私たちのLinux RHサーバーにドロップされ、unzip -o filename.zip -d target_directory
で解凍します。
find . -name '*TXT' -exec ls '{}' \; |awk -F~ '{print $1"\t"$3}'|sort|uniq -c >report.out
出力がどのファイル3月22日以来YVRから受信されなかったことを私に語った:
私のコードは、ファイルが解凍されているターゲットディレクトリに見えます。検索結果をfind . -name 'YVR*TXT'
に絞り込むと、同じ結果が得られます。3/22以降はファイルがありません。
私のYVRの対応者は、毎日ファイルをFTPして、自分のログファイルを電子メールで送信していることを証明しています。ファイルを削除してFTPディレクトリを確認し、アクセス権はすべて+rwx
です。私はまた、unzip -t zipfilename
でTXTファイルを含んでいるzipファイルをチェックしましたが、問題は見つかりませんでした。
レポートでTXTファイルのタイムスタンプを使用したいのですが、どうしたらよいか分かりません。曜日と空港コードで受信したファイルの数を数えるレポートを作成するには、どうすればよいでしょうか?
TIA、
Chris。
PS:はprintf
、私のシステムはstat
です。いずれか使用できますか?
'find。 -name 'YVR * 201203 * .TXT''は出力を出力しますか? 'find'のあなたのバージョンは' -printf'機能を持っていますか?あなたのシステムに 'stat'コマンドがありますか? –
はい、 'find YVR ...'は同じ数のファイルを出力します。 'stat'は' file'はできないと教えてくれるでしょうか? – Chris
「同じローカウント」ですか?私はあなたが何も得ていないという印象の下にいました。 'file'コマンドはヒューリスティックを使用しているファイルのタイプを推測します。その他の情報は提供していません。しかし、私はあなたが「発見」を意味すると推測します。あなたの 'find'が' -printf'を持っていれば 'stat'と同じ情報を得ることができます。 –