On 4 May 2011 14:25, "Lowell Gilbert" <
[email protected]> wrote:
>
> kron24 <[email protected]> writes:
>
> > Dne 4.5.2011 11:42, Modulok napsal(a):
> >>>> By the way, in reference to the commands above the -j option is for
> >> bzip2, so the extension should be .tbz o_O
> >>
> >> Thanks everyone! I went with the following, because it works regardless
of
> >> space characters in filenames. (Thanks for the correction on the
extenion. It
> >> should indeed be 'tbz' when using the 'j' flag.)
> >>
> >> find -E . -regex '.*\.txt$' -print0 | xargs -0 tar -cjf result.tbz
> >
> > When the amount of files is huge then tar will be invoked twice
> > or more. Thus result.tbz will contain just files from the last
invocation.
>
> Yes, xargs isn't part of the solution for this case unless you use the
> update mode to tar, which will be much slower.  However, tar can read
> the file list from a file, which can be stdin if you want.  The
> equivalent of the above command would be something like:
>
> find -E . -regex '.*\.txt$' -print0 | tar --null -T - -cjf result.tbz
>
> > I consider cpio a better option here.
>
> The old ways still work very well.
>
> But it's worth noting that on FreeBSD these days, cpio(1) and tar(1) are
> both implemented on the same library, so there are very few things that
> one can do but the other cannot.
>

Why on Earth are people still fooling about contorting tar into weird
shapes????

The great thing about pax is It's a drop in replacement for cpio that makes
tar archives; It's designed to be used with find!

Chris
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[email protected]"

Reply via email to