2012-07-26 2 views
0

나는 다음과 같은 문제가 있습니다 : 나는/b/c 및 내부 c 많은 텍스트 파일을 가지고 있습니다. 내부에 c 디렉토리가있는 drectory a/mydir에 .tar.gz 파일을 만든 다음 해당 디렉토리에 압축을 풀어/mydir/c (내부의 모든 파일)를 만듭니다.리눅스 셸 원치 않는 여분의 디렉토리

디렉토리 a와 실행 (쉘)

~ : $ 타르 -czf가 mydir/output.tar.gz B/C

~ : $ 타르 -zxf가 mydir/output.tar.gz -c가 mydir

디렉토리는 디렉토리 a/mydir/b/c 디렉토리에 있습니다. 디렉토리 b가 중간에 없으며 모든 내용이 C 인 것입니다.

+1

'mv b/c의 문제점. ; rm -r b'? – Thor84no

+0

올바른 tar 파일이 다른 프로그램의 입력입니다 – Troveldom

답변

2

나를 위해 작동합니다. 데이터

mkdir -p a/b/c 
echo 42 > a/b/c/file.dat 

아카이브

만들기
tar zc -f c.tar.gz -C a/b c 
+0

감사합니다! 문제가 해결되었습니다. – Troveldom

+0

ok. 고마워요! – Troveldom

0
  • 디렉토리에서 친절이 명령을 시도, A/B/C 디렉토리를 만들었습니다.
  • 그래서 b/c/파일 아래의 파일이 완료되었습니다. tar.gz
  • "mydir"이 (가) "b"아래에 생성되고 파일도 압축이 풀립니다.
  • out.tar.gz가 "a"에서 삭제되었습니다.

    # tar -cvzf out.tar.gz b/c/*; mkdir -p b/mydir; tar -xvzf out.tar.gz -C b/mydir /; rm -rf out.tar.gz

고마워요!