Skript v BASHi

Palo

Skript v BASHi
« kdy: 13. 06. 2012, 17:47:32 »
Zdravím všetkých. Chcel by som poradiť ohľadom skriptovania v BASHi... Učím sa to a len tak skúšam, že ako by sa dal vyriešiť jednoduchý skript. Zadanie je takéto:
chcem vytvoriť maticu o rozmere X krát y aby bola naplnená akýmkoľvek obsahom (čísla, písmena, reťazce). Potrebujem aby sa zapisovala do nejakého súboru.
Skúšal som to rôznými metódami ale mám pocit akoby môj shell blbnul.
Díky za prípadné riešenia.


jjjjj

Re:Skript v BASHi
« Odpověď #1 kdy: 13. 06. 2012, 18:32:12 »
srandista :)

smoofy

  • *****
  • 1 063
Re:Skript v BASHi
« Odpověď #2 kdy: 13. 06. 2012, 18:59:53 »
Nebylo by spatne napsat CO si zkousel a JAK ti to blblo. Takhle je to cely takovy na vode a tezko ti muze nekdo poradit.

vn158

Re:Skript v BASHi
« Odpověď #3 kdy: 13. 06. 2012, 19:07:43 »
oneliner: X=60; Y=20; cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w $X | head -n $Y

Palo

Re:Skript v BASHi
« Odpověď #4 kdy: 13. 06. 2012, 19:49:13 »
Citace od: vn158 kdy 13. 06. 2012, 19:07:43
oneliner: X=60; Y=20; cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w $X | head -n $Y

díky za zaujimavé riešenie


kozec

Re:Skript v BASHi
« Odpověď #5 kdy: 13. 06. 2012, 19:49:39 »
Tu je problem ten, ze bash nevie viacrozmerne polia. Ale ak sa citis dostatocne strelene, mozes skusit nieco taketo:

Si=10
Sj=10

for i in $(seq 1 $Si) ; do
for j in $(seq 1 $Si) ; do
M[   $(( ($i*$Sj) + $j ))   ]=$RANDOM
done
done


A pre vypis potom
for i in $(seq 1 $Si) ; do
for j in $(seq 1 $Si) ; do
echo -n ${M[$((   ($i*$Sj) + $j   ))]}" "
done
echo
done

Palo

Re:Skript v BASHi
« Odpověď #6 kdy: 13. 06. 2012, 20:31:35 »
Citace od: kozec kdy 13. 06. 2012, 19:49:39
Tu je problem ten, ze bash nevie viacrozmerne polia. Ale ak sa citis dostatocne strelene, mozes skusit nieco taketo:

Si=10
Sj=10

for i in $(seq 1 $Si) ; do
for j in $(seq 1 $Si) ; do
M[   $(( ($i*$Sj) + $j ))   ]=$RANDOM
done
done


A pre vypis potom
for i in $(seq 1 $Si) ; do
for j in $(seq 1 $Si) ; do
echo -n ${M[$((   ($i*$Sj) + $j   ))]}" "
done
echo
done


tiež pekné... takto by ma to veru nenapadlo