동일한 폴더에 파일을 복사하고 이름의 연도를 바꿉니다.

동일한 폴더에 파일을 복사하고 이름의 연도를 바꿉니다.

동일한 디렉토리에 많은 수의 파일을 복사하고 이름의 연도를 바꾸는 방법은 무엇입니까?

나는 이것을 가지고 있습니다 (파일 이름과 확장자가 다를 수 있음).

filename1-2014.ext
filename2-2014.ext
filename3-2014.ext
...
filenamen-2014.ext

나는 이것을 원한다:

filename1-2014.ext
filename1-2015.ext
filename2-2014.ext
filename2-2015.ext
filename3-2014.ext
filename3-2015.ext
...
filenamen-2014.ext
filenamen-2015.ext

이 작업을 수행하는 스크립트를 만들 수 있지만 이를 수행하는 쉬운 방법이 있는지 궁금합니다.

답변1

  • 그리고 다음을 찾으세요:

    find . -type f -name '*2014*' -exec bash -c 'cp "$0" "${0/2014/2015}"' {} \;
    
  • 쉘 루프에서:

    for file in *2014*; do
        cp "$file" "${file/2014/2015}"
    done
    

답변2

for i in *-2014.ext; do
  cp "$i" "${i%2014.ext}2015.ext"
done

각 파일에 대해 이전 접미사를 제거하고 새 접미사를 추가합니다.

다른 확장 기능이 있는 경우 bash의 패턴 대체 기능을 사용할 수 있습니다.

for i in *-2014.*; do
  cp "$i" "${i/2014/2015}"
done

관련 정보