Hello Patrick,
On Wed, 1 Feb 2023 20:24:22 +0100 Patrick Dupre pdupre@gmx.com wrote:
To create a tar file, I used to create a list and to make tar -cvzf arch.tgz $list
However, if there are file names with a space, this space is interpreted as file name separator.
How can I fix this, either when I tar, or when I create the list?
Somebody suggested that you use --files-from=FILE and --verbatim-files-from, this is IMO the right way.
If you really need to use $list, it all depends how you store the file list in it, and how you expand the variable in the command-line. Playing with the IFS env. var. can also help.
See:
# supposing that "a b" and "c d" exist:
$ list=`find . -name "a b" -o -name "c d"` or $ list=`ls -1 "a b" "c d"` $ echo $list a b c d $ echo "$list" a b c d
$ tar cvzf arch.tgz "$list" a b c d
Isn't what you wanted?
Regards,