여러 디렉터리와 파일이 포함된 tar.gz 파일이 있습니다. 특정 디렉토리를 원격 호스트에 복사하고 추출해야 합니다.
단일 파일로 이 작업을 수행하는 방법을 알고 있지만 단일 명령으로 여러 파일을 처리하는 데 문제가 있습니다.
tar zxOf /mnt/debug.tar.gz libr.so | ssh $MY_IP 'cat > /local/libr.so'
현재 해결 방법은 전체 디렉터리를 로컬로 추출한 다음 scp를 사용하여 복사하는 것입니다.
tar -zxf /mnt/debug.tar.gz -C utils/foo --strip-components=1 tools/
감사해요!
답변1
간단한 쉘 루프는 어떻습니까?
files="first second third"
for f in files; do
tar xf thearchive.tar $f | ssh otherhost "cat > $f"
done