日期:2014-05-16  浏览次数:20822 次

从树状目录中查找出特定类型的文件并打包的命令
  题目如上:从树状目录中查找出特定类型的文件并打包的命令。如文件夹A下面有子文件夹B、C,且A,B,C下面有许多.h,.c,.o的文件,现要求从文件夹A(及其子目录中)中查找出.h文件并打包成一个名为onlyA的压缩包。

    目前情况:
    find  /A   -name "*.h"    可以查找出全部的.h文件,但是想直接打包成为onlyA的压缩包如何写才对?

  尝试了用管道:
     find  /A   -name "*.h"  -print | tar -cf  onlyA.tar

  报“refusing to create an empty archive”,请问我该如何写这个命令?

     
------解决方案--------------------
我亲手做了一下:



[root@aaa ~]# tree A
A

------解决方案--------------------
-- 1.c

------解决方案--------------------
-- 1.h

------解决方案--------------------
-- 1.o
`-- B
    
------解决方案--------------------
-- 2.c
    
------解决方案--------------------
-- 2.h
    
------解决方案--------------------
-- 2.o
    `-- C
        
------解决方案--------------------
-- 3.c
        
------解决方案--------------------
-- 3.h
        
------解决方案--------------------
-- 3.o
        `-- D
            
------解决方案--------------------
-- 4.c
            
------解决方案--------------------
-- 4.h
            `-- 4.o

3 directories, 12 files
[root@ ~]# 
[root@aaa ~]# 
[root@aaa ~]# find A  -name  "*.h"  
------解决方案--------------------
xargs  tar zcvf only.tar 
A/1.h
A/B/C/D/4.h
A/B/C/3.h
A/B/2.h