diff --git a/Archive/Compress to 'tar.gz' (each) b/Archive/Compress to 'tar.gz' (each) index a91f8484..dfbe95f7 100755 --- a/Archive/Compress to 'tar.gz' (each) +++ b/Archive/Compress to 'tar.gz' (each) @@ -32,8 +32,8 @@ _main_task() { if [[ -d "$input_file" ]]; then local files="" cd -- "$input_file" || return 1 - files=$(find . -mindepth 1 -maxdepth 1 | sed "s|^\./||g" | sort --version-sort) - std_output=$(printf "%s" "$files" | xargs --no-run-if-empty tar -czf "$output_file" --) + files=$(find . -mindepth 1 -maxdepth 1 -printf "%p$FIELD_SEPARATOR" | sed "s|\./||g") + std_output=$(printf "%s" "$files" | xargs --no-run-if-empty --delimiter="$FIELD_SEPARATOR" tar -czf "$output_file" --) else cd -- "$(_get_filename_dir "$input_file")" || return 1 local input_file_basename="" diff --git a/Archive/Compress to 'tar.xz' (each) b/Archive/Compress to 'tar.xz' (each) index 1d87ee31..4b0d8452 100755 --- a/Archive/Compress to 'tar.xz' (each) +++ b/Archive/Compress to 'tar.xz' (each) @@ -41,8 +41,8 @@ _main_task() { if [[ -d "$input_file" ]]; then local files="" cd -- "$input_file" || return 1 - files=$(find . -mindepth 1 -maxdepth 1 | sed "s|^\./||g" | sort --version-sort) - std_output=$(printf "%s" "$files" | xargs --no-run-if-empty tar -cJf "$output_file" --) + files=$(find . -mindepth 1 -maxdepth 1 -printf "%p$FIELD_SEPARATOR" | sed "s|\./||g") + std_output=$(printf "%s" "$files" | xargs --no-run-if-empty --delimiter="$FIELD_SEPARATOR" tar -cJf "$output_file" --) else cd -- "$(_get_filename_dir "$input_file")" || return 1 local input_file_basename="" diff --git a/Archive/Compress to 'tar.zst' (each) b/Archive/Compress to 'tar.zst' (each) index f4ff225f..3204dc6c 100755 --- a/Archive/Compress to 'tar.zst' (each) +++ b/Archive/Compress to 'tar.zst' (each) @@ -32,8 +32,8 @@ _main_task() { if [[ -d "$input_file" ]]; then local files="" cd -- "$input_file" || return 1 - files=$(find . -mindepth 1 -maxdepth 1 | sed "s|^\./||g" | sort --version-sort) - std_output=$(printf "%s" "$files" | xargs --no-run-if-empty tar --zstd -cf "$output_file" --) + files=$(find . -mindepth 1 -maxdepth 1 -printf "%p$FIELD_SEPARATOR" | sed "s|\./||g") + std_output=$(printf "%s" "$files" | xargs --no-run-if-empty --delimiter="$FIELD_SEPARATOR" tar --zstd -cf "$output_file" --) else cd -- "$(_get_filename_dir "$input_file")" || return 1 local input_file_basename=""