当前位置: 技术问答>linux和unix
从树状目录中查找出特定类型的文件并打包的命令
来源: 互联网 发布时间:2017-05-15
本文导语: 题目如上:从树状目录中查找出特定类型的文件并打包的命令。如文件夹A下面有子文件夹B、C,且A,B,C下面有许多.h,.c,.o的文件,现要求从文件夹A(及其子目录中)中查找出.h文件并打包成一个名为onlyA的压缩包...
题目如上:从树状目录中查找出特定类型的文件并打包的命令。如文件夹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”,请问我该如何写这个命令?
目前情况:
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