Initial commit
This commit is contained in:
commit
6df315115b
14 changed files with 1774 additions and 0 deletions
81
test/create_test_tree.sh
Executable file
81
test/create_test_tree.sh
Executable file
|
|
@ -0,0 +1,81 @@
|
|||
#!/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 <dieter.schlueter@linix.de>
|
||||
|
||||
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<length; i++)); do
|
||||
local char_idx=$(( RANDOM % ${#chars[@]} ))
|
||||
echo -n "${chars[$char_idx]}"
|
||||
done
|
||||
}
|
||||
|
||||
# 20 bizarre Verzeichnisse erstellen
|
||||
for d in {1..20}; do
|
||||
# for d in {1..2}; do
|
||||
dir_name="$(generate_weird_name)"
|
||||
mkdir -p "$dir_name"
|
||||
|
||||
# 20 Dateien pro Verzeichnis
|
||||
for f in {1..20}; do
|
||||
# for f in {1..5}; do
|
||||
file_base="$(generate_weird_name)"
|
||||
ext_idx=$(( RANDOM % ${#extensions[@]} ))
|
||||
file_name="${file_base}.${extensions[$ext_idx]}"
|
||||
|
||||
# Datei mit zufälligem Inhalt erstellen
|
||||
head -c $(( RANDOM % 1024 )) /dev/urandom > "$dir_name/$file_name" 2>/dev/null
|
||||
done
|
||||
done
|
||||
|
||||
# Beispielausgabe
|
||||
echo "Testumgebung erstellt:"
|
||||
tree -L 2 | head -n 20
|
||||
exit 0
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue