하나의 파일을 다른 이름을 가진 여러 다른 파일로 복사

하나의 파일을 다른 이름을 가진 여러 다른 파일로 복사

파일이 있습니다(파일이라고 부르자)파일 1.xyz) 처리할 템플릿으로 사용하고 싶습니다. 콘텐츠를 복사해야 합니다.파일 1.xyz다른 파일의 내용을 대체하도록 -파일2.xyz,파일 3.xyz,파일 4.xyz,파일 5.xyz파일 70.xyz또한 원본 파일 이름을 유지하십시오.

나는 다음을 사용해 보았습니다.

cp file1.xyz *.xyz

파일은 모두 동일한 디렉토리에 있으므로 서로 추가하고 싶지 않습니다.

작동하지 않습니다. 어떻게 해결할 수 있나요?

답변1

그리고 zsh:

f=(file*.xyz)
cat $f[1] > $f[2,-1]

그러나 이는 모든 출력 파일을 병렬로 작성하므로(예: 사용 tee), 이는 많은 수의 파일에 맞게 확장되지 않음을 의미합니다.

Bourne과 유사한 쉘( zsh및 포함 bash)의 경우 언제든지 다음을 수행할 수 있습니다.

set file*.xzy
source=$1; shift
for dest do cp "$source" "$dest"; done

답변2

다음은 예제에서 파일을 생성하는 줄입니다.

for i in {2..70}; do cp file1.xyz file$i.xyz; done

답변3

가장 쉬운 방법은 tee 명령을 사용하는 것입니다.

cat file1.xyz | tee *.xyz >/dev/null

답변4

echo file{2..70}.xyz | xargs -n 1 -t cp file1.xyz

관련 정보