2013-02-05 1 views
0

한 폴더에서 다른 폴더로 파일을 복사하려면 bash 스크립팅을 사용해야합니다. 대상 폴더의 이름이 같지만 타임 스탬프가 오래된 파일이 있으면 복사해서는 안됩니다. 더 새로운 파일 만 복사해야합니다. 나는 cp -u를 사용할 수 있었지만 그것을 사용하지 말라고 요청 받았다. 기본적으로 "ot"에 대한 테스트 명령 테스트를 사용해야합니다. 이 일을 어떻게 할 수 있는지 알려주세요. 소스에있는 파일을 읽는 루프 2 개와 대상 디렉토리에 대한 루프 1 개를 사용할 수 있고 타임 스탬프를 비교할 수 있다고 생각합니다. 문제는 두 for 루프 모두 파일 이름과 함께 절대 경로 이름을 생성한다는 것입니다. 당신이 디렉토리를 변경할 수bash 스크립팅을 사용하여 새 파일 만 복사하는 방법

for file in "$folder1"/* ; do 
    filename=${file##*/}  # Remove everything to the last slash. 

을 또는 : : 그들에게

감사

+3

입니다. 더 정확한 질문을해야합니다. 그렇지 않으면 우리는 단지 당신을 위해 일하고 있습니다 :) – slezica

+0

어떻게하면 디렉토리에서 파일 이름 만 얻을 수 있습니까? – user466663

답변

1

을 비교하는 방법 그래서 확실하지 당신은 매개 변수 치환에서 이익이 될 수 이것은 숙제

cd "$folder1" 
for file in * ; do 
    ## you have to use full or relative path to $folder2 here 
+0

+1. 또한,'globstar'는 재귀 적으로 원점 디렉토리를 나열하도록 활성화 될 수 있습니다. – michaelmeyer

관련 문제