Pokut narves 1000 argumentu do 1 cyklu, muze to taky napsat "Argument list too long" a 1 000 000 souboru v jednom adresari je sranda, i 100 000 souboru.
Takto v Bashi ti vytvori dost souboru a slozek. Zadas cislo pocet a vytvori ti to pocet^2 zslozek a pocet^3 souboru, vsechny stejne. Jinak. min velisost souboru i velikost adresare je 4096 B obvykle, tedy jeden cluster. Limity na pocet souboru jsou ruzne, vetsinou milion az miliarda. Misto kde probehne utok je CestaDoTvehoAdreare , zadas bez posledniho lomitka.
#!/bin/bash
CestaDoTvehoAdreare="/tmp/neco"
pocet="1000"
for XXX in `seq -w ${pocet}` ; do
for YYY in `seq -w ${pocet}` ; do
mkdir -p ${CestaDoTvehoAdreare}/${XXX}/${XXX}${YYY}/
for ZZZ in `seq -w ${pocet}` ; do
echo "Drsnej skript to je" >> ${CestaDoTvehoAdreare}/${XXX}/${XXX}${YYY}/${XXX}${YYY}${ZZZ}.txt
done
done
done
Jinak pokud chces skartovat obsah disku, tak az cca 11x prepsane jde obnovit. Proto meni moddifikace skriptu o cyklus vic:
Bacha je tu rm -fr *, ujisti se zda dany adresar, ktery se iotevre pred spustenim priklazu existuje, jinak to bude mazat jinde.
Mysli i na cas behu skriptu.
#!/bin/bash
CestaDoTvehoAdreare="/tmp"
pocet="1000"
PocetCyklu="50"
for Cykly in `seq ${PocetCyklu}` ; do
for XXX in `seq -w ${pocet}` ; do
for YYY in `seq -w ${pocet}` ; do
mkdir -p ${CestaDoTvehoAdreare}/${XXX}/${XXX}${YYY}/
for ZZZ in `seq -w ${pocet}` ; do
echo "Drsnej skript to je" >> ${CestaDoTvehoAdreare}/${XXX}/${XXX}${YYY}/${XXX}${YYY}${ZZZ}.txt
done
done
done
cd ${CestaDoTvehoAdreare}/
rm -fr *
done ## cykly