포스터를 게시하는 것은 이번이 처음이며 코딩도 처음입니다.
수백 개의 폴더에 파일을 복사해야 해서 ING_30.tif
터미널 명령을 사용하여 이 작업을 빠르게 수행하려고 합니다.
- 둘 다
ING_30.tif
동일한 상위 폴더와 복사해야 하는 폴더에 있습니다ING/
. - 의 모든 폴더에 복사하고 싶지 않고 (예를 들어)로 시작하는 폴더
ING_30.tif
에만 복사하고 싶습니다.ING/
ING/
AST
AST_1113054
- 이
AST*
폴더에는 삭제하고 싶지 않은 다른 파일이 이미 있습니다.
어떤 도움이라도 대단히 감사하겠습니다. 파일을 여러 폴더에 복사하는 게시물을 온라인에서 찾았지만 AST*
폴더에만 복사하도록 지정할 수 있는 코드가 없습니다. 또한 일부 명령은 파일을 복사하지만 폴더에 이미 있는 파일을 삭제하는 것을 보았습니다. 이는 피해야 할 것입니다. 감사해요!
답변1
또 다른 옵션:
for d in AST*/; do cp ING_30.tif "$d"; done
/
이는 glob 패턴(후행으로 적용)과 일치하는 모든 디렉터리를 반복 AST*
하고 거기에 파일을 복사합니다.
xargs
디렉터리 이름에 공백이나 기타 흥미로운 문자가 포함될 수 있는 경우 다음을 사용하는 것보다 안전합니다(답변 참조).이 문제더 많은 통찰력을 얻으려면) 해당 옵션을 허용하는 GNU 버전이 없고 -0
디렉터리 이름을 NULL로 끝나는 문자열로 에 제공하는 방법도 있습니다 xargs
.
답변2
해결책을 찾았습니다.
echo AST* | xargs -n 1 cp ING_30.tif
폴더의 다른 파일을 삭제하지 않고 내 .tif
파일을 모든 폴더에 복사합니다 .AST_