동일한 디렉토리에 많은 수의 파일을 복사하고 이름의 연도를 바꾸는 방법은 무엇입니까?
나는 이것을 가지고 있습니다 (파일 이름과 확장자가 다를 수 있음).
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