정기적으로 끝나는 특정 파일을 여러 번 복사하는 방법은 무엇입니까?


13

나는 하나의 파일 (PDF 파일)을하고 난 같은 폴더에 동일한 복사본 많은 (200 좋을 것이다)라는 이름 갖고 싶어 file-001, file-002

어떻게합니까?


아니요, 오류 수정을위한 것입니다.
Tim

_ 내가 희망하는 오타입니까?
Rinzwind

@Rinzwind 그래! 흥미로울 수 있습니다-각각에 대해 임의의 문자를 선택? : p
Tim

@ 팀은 : - 당신은 할 수 있습니다 ""그럼, 임의는 "_"또는 생성하기 위해 printf "%s\n" "$(cat /dev/urandom | tr -dc '_-' | fold -w 1 | head -n 1 )"(때문에 웜의 수입니다 경고 P는 echo -이 코너 케이스 중 하나입니다 ...)
Rmano

1
@Rmano 나는 -내 생각에 고수 할 것이다 : P
Tim

답변:


22

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

< file tee file-{001..200}

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

tee뿐만 아니라, 지정된 각 파일에 표준 출력에 표준 입력을 기록 - 큰 파일, 또는 터미널 설정을 방해 할 수있는 이진 데이터 또는 기타 특수 문자가 포함 된 파일을, 당신은 표준 출력을 덤프 할 아마도 것 비트 버킷

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

4
tee file-{001..200} < file >/dev/null더보기 좋게 나를 찾습니다. 이 거의 중복 답변을보십시오 : 터미널의 여러 폴더에 파일을 복사하는 방법은 무엇입니까?
Radu Rădeanu

21

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

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

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

:-피


1
모든 소수가 소수 _이고 모든 소수가 아닌 것을 원한다면 어떻게해야 -합니까? 1은 소수가 아니며 0을 선택합니다! : P 농담!
Tim

7

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

cp file file-001

이제, 당신이 결합 할 수 있습니다, 파일에 더 많은 중복을 만들기 위해 cp함께 xargs. 귀하의 경우 :

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

복사됩니다 filefile-001, file-002, ..., file-200. 자세한 내용 man xargs은 참조하십시오 .


4

항상 그렇듯이 파이썬 트럭은 늦습니다.

실행 파일로 만들고, 터미널 창 위로 드래그하고, 파일을 드래그하여 터미널 창 위로 복사하고 사본 수를 설정하십시오.

script file number_ofcopies

선행 0의 수는 파일의 이름을 지정, 자동으로 설정됩니다 file_001.pdf, file_002.pdffilenumbers 배치로, 이전 확장.

스크립트 :

#!/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)

그래, 나는 일찍 파이썬으로 시도했지만 우아함을 좋아하지 않았다 ... 나는 일반적으로 파이썬을 간다 :)
Tim

@Tim이 코드는 파이썬 코드의 아름다움을 방해하는 코드 글꼴이어야합니다 :)
Jacob Vlijm

1
이것을 만드는 몇 가지 방법이 있습니다.
Braiam
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.