Bash : 이름이 지정된 파일을 재귀 적으로 복사하여 폴더 구조를 유지합니다.
나는 바라고 있었다 :
cp -R src/prog.js images/icon.jpg /tmp/package
대상 디렉토리에 대칭 구조를 생성합니다.
/tmp
|
+-- package
|
+-- src
| |
| +-- prog.js
|
+-- images
|
+-- icon.jpg
대신 두 파일 모두 / tmp / package에 복사됩니다. 플랫 카피. (이것은 OSX에 있습니다).
와일드 카드 (예 : src / *. js)로 지정된 파일을 포함하여 모든 파일을 대상 디렉토리 내의 적절한 위치에 복사하는 데 사용할 수있는 간단한 bash 함수가 있습니까? "각 파일마다 실행 mkdir -p $(dirname "$file"); cp "$file" $(dirname "$file")
"과 비슷하지만 단일 명령 일 수도 있습니다.
이것은 불가능하다는 것을 암시하는 관련 스레드입니다. 저자의 솔루션은 나에게 그다지 유용하지 않습니다. 와일드 카드 여부에 관계없이 파일 목록을 제공하고 모든 파일을 대상 디렉토리에 복사하기를 원하기 때문입니다. IIRC MS-DOS xcopy가이 작업을 수행하지만 cp에 해당하는 것은없는 것 같습니다.
--parents 옵션을 사용해 보셨습니까? OS X이 지원하는지는 모르겠지만 Linux에서 작동합니다.
cp --parents src/prog.js images/icon.jpg /tmp/package
OS X에서 작동하지 않으면 시도해보십시오.
rsync -R src/prog.js images/icon.jpg /tmp/package
aif 제안대로.
일방 통행:
tar cf - <files> | (cd /dest; tar xf -)
또는 구식 인 경우 cpio를 사용합니다.
cd /source;
find . -print | cpio -pvdmB /target
분명히 파일 목록을 마음의 내용으로 필터링 할 수 있습니다.
'-p'옵션은 'pass-through'모드를위한 것입니다 (입력의 경우 '-i'또는 출력의 경우 '-o'에 대해). '-v'는 장황합니다 (파일이 처리되는대로 나열). '-m'은 수정 시간을 보존합니다. '-B'는 '빅 블록'사용을 의미합니다 (빅 블록은 512 바이트 대신 5120 바이트). 요즘에는 효과가 없을 가능성이 있습니다.
rsync의 -R 옵션 은 예상대로 수행합니다. 매우 기능이 풍부한 파일 복사기입니다. 예를 들면 :
$ rsync -Rv src/prog.js images/icon.jpg /tmp/package/
images/
images/icon.jpg
src/
src/prog.js
sent 197 bytes received 76 bytes 546.00 bytes/sec
total size is 0 speedup is 0.00
샘플 결과 :
$ find /tmp/package
/tmp/package
/tmp/package/images
/tmp/package/images/icon.jpg
/tmp/package/src
/tmp/package/src/prog.js
rsync of course! tutorial here. and here
Or unison
Try...
for f in src/*.js; do cp $f /tmp/package/$f; done
so for what you were doing originally...
for f in `echo "src/prog.js images/icon.jpg"`; do cp $f /tmp/package/$f; done
or
v="src/prog.js images/icon.jpg"; for f in $v; do cp $f /tmp/package/$f; done
'Programing' 카테고리의 다른 글
JSLint : 정의되기 전에 사용되었습니다. (0) | 2020.08.26 |
---|---|
서비스의 Symfony 2 EntityManager 삽입 (0) | 2020.08.26 |
지도 저장 (0) | 2020.08.26 |
Express.js에서 Node.js를 사용하는 세션은 어떻게 작동합니까? (0) | 2020.08.26 |
.NET에서 json 키가 소문자인지 확인 (0) | 2020.08.26 |