파일이 있습니다(파일이라고 부르자)파일 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