2011-09-12 4 views
1

제목과 마찬가지로 디렉토리를 입력으로 받아들이는 스크립트를 만들려고합니다. 디렉토리 자체를 입력으로 사용하는 다른 디렉토리로 유지하면서 디렉토리 내의 파일을 bzip하십시오. 따라서, 예를 들어 :bash에서 파일 자체를 아카이브하지 않고 디렉토리에서 재귀 적으로 아카이브 특정 파일을 bzip하려면 어떻게해야합니까?

$ tree testdir 
testdir 
├── foo.bar 
├── hello.bar 
├── hmm 
│   ├── down.ov 
│   ├── hulk.bar 
│   ├── nope 
│   │   ├── around.zap 
│   │   ├── over.bar 
│   │   ├── side.it 
│   │   └── under.bar 
│   ├── smash.er 
│   └── up.bar 
├── no.wsx 
├── test.bar 
└── yes.lol 
$ ./script testdir testdir2 
$ tree testdir2 
testdir2 
├── foo.bar.bz2 
├── hello.bar.bz2 
├── hmm 
│   ├── down.ov.bz2 
│   ├── hulk.bar.bz2 
│   ├── nope 
│   │   ├── around.zap.bz2 
│   │   ├── over.bar.bz2 
│   │   ├── side.it.bz2 
│   │   └── under.bar.bz2 
│   ├── smash.er.bz2 
│   └── up.bar.bz2 
├── no.wsx.bz2 
├── test.bar.bz2 
└── yes.lol.bz2 

나는 그것을 수행하는 방법에 대한 아이디어를 가지고,하지만 난 생각 루프와 CD 명령과 이것 저것이, 비효율적 동안이 포함됩니다. 그래서, 여기 여러분들로부터 도움을 받기를 희망했습니다. 비록 너희들이 나를 올바른 방향으로 인도한다고해도 그것은 환상적 일 것이다.

답변

2
cp -R $1 $2 
find $2 -type f -exec bzip2 {} \; 
+0

아아, 찾기 명령. 감사! – Phase

+0

제이가 크레딧을 얻고 질문이 대답하지 않은 목록에 나타나지 않도록 질문에 답변으로 표시했는지 확인하십시오. –

관련 문제