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

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

N예를 들어 , 복사본을 만들고 a.txt번호를 매기려면 a1.txt, a2.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.

관련 정보