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 049
    • Zobrazit profil
    • E-mail
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 »
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:

Kód: [Vybrat]
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
Kód: [Vybrat]
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 »
Tu je problem ten, ze bash nevie viacrozmerne polia. Ale ak sa citis dostatocne strelene, mozes skusit nieco taketo:

Kód: [Vybrat]
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
Kód: [Vybrat]
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