#!/bin/bash # create_test_tree.sh # Erzeugt ein Verzeichnis mit dem Namen $TOPDIR und 20 Unterverzeichnissen # deren Namen aus zufälligen gewöhnichen und ungewöhnlichen Zeichen (s. chars) bestehen. # Diese enthalten Dateien mit Basisnamen aus zufälligen gewöhnichen und ungewöhnlichen Zeichen # und konventionellen Endungen (s. extensions). Der Inhalt ist ebenfalls zufällig. # # Dieser Dateibaum dient dann zum Testen des Rust-Programms NameToUnix : # z. B. # NameToUnix -n $TOPDIR (Option -n ==> Änderungen nur anzeigen) # oder # NameToUnix $TOPDIR # # # (c) 2025 Dieter Schlüter TOPDIR="./testverzeichnis" # 1. Altes Testverzeichnis löschen rm -rf "$TOPDIR" # 2. Neues Verzeichnis erstellen mkdir -p "$TOPDIR" cd "$TOPDIR" || exit # Liste gewöhnicher und ungewöhnlicher Zeichen und Emojis chars=( "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z" "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z" "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" " " "  " "!" "@" "#" "$" "%" "^" "&" "*" "(" ")" "=" "+" "[" "]" "{" "}" "|" "\\" ";" ":" "'" "\"" "," "<" ">" "?" "~" "\`" "¡" "™" "£" "¢" "∞" "§" "¶" "•" "ª" "º" "≠" "œ" "∑" "´" "®" "†" "¨" "ˆ" "ø" "π" "“" "‘" "«" "…" "å" "ß" "∂" "ƒ" "©" "˙" "∆" "˚" "¬" "Ω" "≈" "ç" "√" "∫" "˜" "µ" "≤" "≥" "÷" "🦄" "👾" "💩" "🚀" "🎉" "😱" "🤯" "🌌" "💥" "🔧" "📁" ) # Liste üblicher Dateiendungen extensions=("txt" "jpg" "png" "pdf" "docx" "xlsx" "pptx" "zip" "tar.gz" "sh" "py" "js" "html" "css" "php" "json" "xml" "csv" "log" "conf") # Zufälliger Datei/Verzeichnis Name Generator generate_weird_name() { local length=$(( RANDOM % 15 + 5 )) for ((i=0; i "$dir_name/$file_name" 2>/dev/null done done # Beispielausgabe echo "Testumgebung erstellt:" tree -L 2 | head -n 20 exit 0