#!/bin/bash comm="new" # decompress only new files if [[ $# -eq 1 ]]; then comm="$1" fi echo $comm source_filenames=$( ls *.tar.xz ) for source_filename in ${source_filenames[@]}; do target_filename=$(basename $source_filename) target_filename="${target_filename%.*}" # remove .xz extension target_filename=$(basename $target_filename) target_filename="${target_filename%.*}" # remove .tar extension if [ "$comm" == "all" ] || [ ! -f $target_filename ]; then echo "Decompressing ${source_filename}" tar -xJf "${source_filename}" else echo "Skipping decompression of ${source_filename}" fi done