Add All existing

This commit is contained in:
Hannes
2025-11-17 00:41:24 +01:00
parent e309cad1b4
commit af7ccb25b9
33 changed files with 2687 additions and 0 deletions

74
create_folder_counting Executable file
View File

@@ -0,0 +1,74 @@
#!/bin/bash
# Check if the required arguments are provided
if [ "$#" -lt 4 ] || [ "$#" -gt 5 ]; then
echo "Usage: $0 {Folder} name1 {number1-number2 | letter1-letter2} name2 {symbol_between (optional)}"
exit 1
fi
# Set the target directory
if [ "$#" -eq 5 ]; then
TARGET_DIR="$1"
NAME1="$2"
RANGE="$3"
NAME2="$4"
SYMBOL="$5"
elif [ "$#" -eq 4 ]; then
# If 4 arguments are provided, the folder is assumed to be the current directory
TARGET_DIR="."
NAME1="$1"
RANGE="$2"
NAME2="$3"
SYMBOL="$4"
else
# If 3 arguments are provided, the folder is assumed to be the current directory
TARGET_DIR="."
NAME1="$1"
RANGE="$2"
NAME2="$3"
SYMBOL="_" # Default separator is "_"
fi
# Ensure the target directory exists
mkdir -p "$TARGET_DIR"
# Check if RANGE is numeric or alphabetic
if [[ "$RANGE" =~ ^[0-9]+-[0-9]+$ ]]; then
# Numeric range
START_NUM=$(echo "$RANGE" | cut -d'-' -f1)
END_NUM=$(echo "$RANGE" | cut -d'-' -f2)
# Create folders for each number in the range
for ((i=START_NUM; i<=END_NUM; i++)); do
FOLDER_NAME="${NAME1}${SYMBOL}${i}${SYMBOL}${NAME2}"
mkdir -p "$TARGET_DIR/$FOLDER_NAME"
done
elif [[ "$RANGE" =~ ^[a-zA-Z]-[a-zA-Z]$ ]]; then
# Alphabetic range
START_LETTER=$(echo "$RANGE" | cut -d'-' -f1)
END_LETTER=$(echo "$RANGE" | cut -d'-' -f2)
# Convert letters to ASCII values for iteration
START_ASCII=$(printf "%d" "'$START_LETTER")
END_ASCII=$(printf "%d" "'$END_LETTER")
# Ensure alphabetical order
if [ "$START_ASCII" -gt "$END_ASCII" ]; then
echo "Error: The alphabetical range should start with a letter that precedes the end letter."
exit 1
fi
# Create folders for each letter in the range
for ((i=START_ASCII; i<=END_ASCII; i++)); do
LETTER=$(printf "\x$(printf %x $i)")
FOLDER_NAME="${NAME1}${SYMBOL}${LETTER}${SYMBOL}${NAME2}"
mkdir -p "$TARGET_DIR/$FOLDER_NAME"
done
else
echo "Error: RANGE should be in the format number1-number2 or letter1-letter2."
exit 1
fi
echo "Folders created in $TARGET_DIR."