최신 파일을 기존 디렉토리에 복사

최신 파일을 기존 디렉토리에 복사

여러 개의 디렉토리가 있습니다

/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'

관련 정보