On 2/1/23 4:28 PM, Cameron Simpson wrote:
On 01Feb2023 13:07, Jerry James <loganjerry(a)gmail.com> wrote:
> If you can make your list with find, you can also do something like this:
>
> find [top directory] [find criteria here] -exec tar -cvzf arch.tgz {} +
This recreates the tar file once per file, ending up with a tar file containing only the
last file found.
No, it does not. Note the "+" at the end, which tells the "find"
command to pass as many arguments as will fit within the maximum length of a command line.
Your "multiple groups" warning below still applies, but on modern systems this
is quite a large limit. Run "getconf ARG_MAX" to see the limit on your system.
> Or, if you can generate the list with null characters instead of
> spaces as the filename separators, you could do something like this:
>
> [generate the list with nulls] | xargs -0 tar -cvzf arch.tgz
Unless there are enough files for xargs to break the files into multiple groups, in which
case... again a tar file containing only the last group.
--
Bob Nichols "NOSPAM" is really part of my email address.
Do NOT delete it.