【发布时间】:2012-08-27 21:01:29
【问题描述】:
我有一种情况,我想从 linux 下的数千个目录中复制一个特定文件“transaction.log”并构建一个包含这些相同特定文件的 tar 文件。
示例: 我在 /user/foo/dirs/ 下有数千个目录
/user/foo/dirs/dir1
/user/foo/dirs/dir2
/user/foo/dirs/dir3
..
..
..
/user/foo/dirs/dir50000
在每个目录中,有几个文件和一个 transaction.log 文件。我想从所有 50000 个目录中复制这个 transaction.log 文件并将它们存储在一个 tar 文件中。
如果有办法,你能帮帮我吗?
谢谢。
解决方案:
Okies,我发现了问题,因为有一些指向其他磁盘的符号链接无法正常工作。解决方案是使用 -follow 选项和 find 来跟踪符号链接。谢谢。 我使用以下命令
找到 . -follow -type f -name "transaction.log" | tar --create --files-from -> /foo/Stats_transaction_Object.tar.gz
【问题讨论】:
-
到目前为止你做了什么?
-
您可以使用通配符。 $ tar -cvf tarname.tar /user/foo/dirs/dir*/transaction.log