最新のファイルを既存のディレクトリにコピー

最新のファイルを既存のディレクトリにコピー

複数のディレクトリがあります

/home/imp/imp/msgs

そして

/home/imp/imp/msgs/bak

最初に起こるものはすべてのファイル*.BRD*.MIX/home/imp/imp/msgs//home/imp/imp/msgs/bak

メッセージが公開されると、再度コピーされます。/home/imp/imp/msgs/

私がしたいのは、から最新のファイル(*.BRDおよび*.MIX)を/home/imp/imp/msgs/次にコピーすることです。/home/imp/imp/msgs/bak/

可能ですか?

ファイルをコピーする前に実行するシェルスクリプトがあります*.BRD*.MIX/home/imp/imp/msgs//home/imp/imp/msgs/bak/

#!/bin/bash

export SDL_VIDEODRIVER=dummy
nice -n 20 dosbox -noconsole -c "mount c /" -c "c:" -c "cd \\home\\imp\\imp\\" -c "set PATH=c:\\home\\imp\\imp\\" -c "imp-mail scan" -c "set FIDOCONFIG=c:\\home\\imp\\hpt\\config\\config" -c "hpt pack scan" -c "exit"
rm /home/imp/hpt/flags/hpt.lock
/home/imp/imp/pktdate -c /home/imp/hpt/pkt-out/*.pkt
cd /home/imp/hpt
./hpt pack scan

次にインポートしてファイルを*.BRD保存します。*.MIX/home/imp/imp/msgs/

ありがとうございます。

答え1

あなたのディレクトリ構造について100%確信することはできませんが、次のように動作します。

find /home/imp/imp/msgs/ -maxdepth 1 -newer FOO_FILE -name '*.BRD' -o -name '*.MIX' -execdir cp {} /home/imp/imp/msgs/bak/ \;

説明する

  • find /home/imp/imp/msgs/:このディレクトリから検索
  • -maxdepth 1:サブディレクトリを入力しないでください。
  • -newer FOO_FILE:FOO_FILEより最新のファイルのみを探します。
  • -name '*.BRD' -o -name '*.MIX':名前*.BRDまたは*.MIX
  • -execdir cp {} /home/imp/imp/msgs/bak/ \;:このファイルを次の場所にコピーします。/home/imp/imp/msgs/bak/

おそらく最後の部分なしで実行して正しいファイルと最初に一致するかどうかをテストするのが最善です。

find /home/imp/imp/msgs/ -maxdepth 1 -newer FOO_FILE -name '*.BRD' -o -name '*.MIX'

関連情報