특정 파일의 N 복사본을 만드는 빠른 방법은 무엇입니까?

특정 파일의 N 복사본을 만드는 빠른 방법은 무엇입니까?

N예를 들어, 의 복사본을 만들고 번호를 , , 등 a.txt으로 지정하고 싶다면 ...a1.txta2.txta3.txt

어떻게 그런 일을 간결하게 할 수 있을까요?

답변1

cp자체적으로는 한 번에 하나의 복사본(단일 파일)만 만들 수 있지만 빠른 루프를 사용하면 그리 어렵지 않습니다.

for i in {1..10}; do cp a.txt a$i.txt; done

답변2

bash 변수에 N 값이 있다고 가정합니다.

for i in `seq 1 $N`; do cp a.txt a$i.txt; done

또는

for ((i=1;i<=$N;i++)); do cp a.txt a$i.txt; done

또는 Kevin의 답변에 표시된 루프를 사용합니다.

답변3

복사본을 만들기 위해 cp동일한 파일 시간을 읽을 필요가 없기 때문에 을 사용하는 솔루션은 다소 비효율적입니다. 대신 다음을 사용할 수 있습니다 .NNtee

cat a.txt | ( for i in `seq 1 $N`; do echo a"$i".txt; done | xargs tee )

답변4

좀 더 펑키한 것을 원한다면 다음과 같이 할 수 있습니다: for t in $(seq --format="funky-%03.0f-numbered.txt" 25 3 40); do cp orig $t; done.

관련 정보