Skip to content

Commit

Permalink
Add script for compress zstd
Browse files Browse the repository at this point in the history
  • Loading branch information
cfgnunes committed May 10, 2024
1 parent 5289180 commit 06505e7
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 0 deletions.
46 changes: 46 additions & 0 deletions Archive/Compress to 'tar.zst' (each)
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#!/usr/bin/env bash
# install_keyboard_shortcut=<Control><Alt>S

# Source the script 'common-functions.sh'.
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
ROOT_DIR=$(grep --only-matching "^.*scripts[^/]*" <<<"$SCRIPT_DIR")
source "$ROOT_DIR/common-functions.sh"

_main() {
local input_files=""
local output_dir=""

# Execute initial checks.
_check_dependencies "command=tar | command=zstd"
_display_wait_box "2"
input_files=$(_get_files "par_type=all")
output_dir=$(_get_output_dir "par_use_same_dir=true")

# Execute the function '_main_task' for each file in parallel.
_run_task_parallel "$input_files" "$output_dir"
_display_result_box "$output_dir"
}

_main_task() {
local input_file=$1
local output_dir=$2
local output_file=""
local std_output=""

# Run the main process.
output_file=$(_get_output_filename "$input_file" "$output_dir" "par_extension_opt=replace; par_extension=tar.zst")
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" --)
else
cd -- "$(_get_filename_dir "$input_file")" || return 1
local input_file_basename=""
input_file_basename=$(basename -- "$input_file")
std_output=$(tar --zstd -cf "$output_file" -- "$input_file_basename" 2>&1)
fi
_check_output "$?" "$std_output" "$input_file" "$output_file" || return 1
}

_main "$@"
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ While numerous scripts are available for file managers on the web, many suffer f
| `<Control>E` | Extract Here |
| `<Control><Alt>C` | Compress... |
| `<Control><Alt>G` | Compress to 'tar.gz' (each) |
| `<Control><Alt>S` | Compress to 'tar.zst' (each) |
| `<Control><Alt>V` | Paste as hard link |
| `<Control><Alt>X` | Compress to 'tar.xz' (each) |
| `<Control><Alt>Z` | Compress to 'zip' (each) |
Expand Down

0 comments on commit 06505e7

Please sign in to comment.