일반 엔딩으로 특정 파일을 여러 번 복사하는 방법은 무엇입니까?

일반 엔딩으로 특정 파일을 여러 번 복사하는 방법은 무엇입니까?

단일 파일(PDF)이 있고 같은 폴더(200이면 좋을 것임)에 동일한 복사본을 많이 갖고 싶습니다 file-001.file-002

어떻게 해야 하나요?

답변1

당신은 다음과 같은 것을 할 수 있습니다

< file tee file-{001..200}

그러나 매체를 읽을 수 없게 되면 매체에 얼마나 많은 사본이 있는지는 중요하지 않습니다. 기본적으로 백업에는 다음이 필요합니다.다양성.

tee표준 출력은 물론 주어진 각 파일에도 표준 입력을 기록합니다. 큰 파일이나 바이너리 데이터 또는 터미널 설정을 방해할 수 있는 기타 특수 문자가 포함된 파일의 경우 표준 출력을 다음으로 덤프할 수 있습니다 . 비트 버킷

< file > /dev/null tee file-{001..200}

답변2

이는 쉘 트릭이 많은 도움이 되는 전형적인 사례입니다.

for i in {000..199}; do cp file file-$i; done

그리고농담인 거 알아, 그러나 임의의 숫자를 원하거나 _이름 -에서 숫자를 분리하려면 다음을 사용할 수 있습니다.

for i in {000..199}; do 
    cp file file$(cat /dev/urandom | tr -dc '_-' | fold -w 1 | head -n 1 )$i; 
done

(가독성을 돕기 위해 여러 줄로...)

:-피

답변3

파일의 단일 복사본을 만들려면 다음을 사용할 수 있다는 것을 알고 있을 것입니다 cp.

cp file file-001

이제 파일에 더 많은 복제본을 만들려면 cp와 결합할 수 있습니다 xargs. 귀하의 경우:

echo file-{001..200} | xargs -n 1 cp file

, ,... , file에 복사됩니다 . 자세한 내용은 을 참조하세요 .file-001file-002file-200man xargs

답변4

언제나 그렇듯이, 파이썬 트럭은 늦게 옵니다. 하지만:

실행 가능하게 만들고 터미널 창 위로 끌어서 터미널 창 위로 복사할 파일을 끌어서 복사본 수를 설정합니다.

script file number_ofcopies

선행 0의 개수는 자동으로 설정되며, 파일 이름은 file_001.pdf, file_002.pdf, 파일 번호가 지정됩니다.~ 전에확장.

스크립트:

#!/usr/bin/env python3

import sys
import shutil

orig = sys.argv[1]; n = sys.argv[2]; size = len(str(n)); out = (orig[:orig.rfind(".")], orig[orig.rfind("."):])
for item in [out[0]+"_"+(size-len(str(item)))*"0"+str(item)+out[1] for item in range(1, int(n)+1)]:
    shutil.copyfile(orig, item)

관련 정보