Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: honzikk 17 Července 2008, 19:02:34

Název: Skript na vygenerování souboru dané velikosti
Přispěvatel: honzikk 17 Července 2008, 19:02:34
Ahoj, začínám s řádkou a potřeboval bych na testovací účely vytvořit několik velikostně přesně daných souborů. Zkoušel jsem urandom vypisovat do souboru, ovšem nepřišel jsem na to jak to včas zastavit, když potřebuju soubor o velikosti přesně např.1024KB... Nemáte někdo nějaký skript? Připadně příkaz? Díky za každou radu
Název: Re: Skript na vygenerování souboru dané velikosti
Přispěvatel: pxjava 17 Července 2008, 19:21:27
tak si udelej programek kterej vytvori soubor a kopne tam napriklad 1023 pismen 'a' plus ukoncovaci znak pro 1KB ;)
Název: Re: Skript na vygenerování souboru dané velikosti
Přispěvatel: honzikk 17 Července 2008, 19:42:38
tak si udelej programek kterej vytvori soubor a kopne tam napriklad 1023 pismen 'a' plus ukoncovaci znak pro 1KB ;)

mohl bys mi prosim napsat alespon jak na to? zkoušim to s while a rourou ale nějak se mi to nedaří, v životě jsem tohle nedělal... Nemusíš psát řešení, stačí nějak nakopnout :-)
Název: Re: Skript na vygenerování souboru dané velikosti
Přispěvatel: honzikk 17 Července 2008, 19:52:44
tak jsem to zkusil s učebnicovym příkladem a teď mám problém že to vypisuje pořád na nový řádek :-)

Kód: [Vybrat]
#!/bin/bash
x=0;     
while [ "$x" -le 1023 ]; do
  echo "a" >> data.bin
  x=$(expr $x + 1)
done


Název: Re: Skript na vygenerování souboru dané velikosti
Přispěvatel: honzikk 17 Července 2008, 19:54:36
jsem to ale trubka :-D

Ale díky za radu :-D
EDIT: Ale trvá to pekelně dlouho vytvořit např mega...

Kód: [Vybrat]
#!/bin/bash
x=0;     # inicializuje hodnotu x na 0
while [ "$x" -le 511 ]; do
  echo "a" >> data.bin
  # zvýšení hodnoty x o 1
  x=$(expr $x + 1)
done
Název: Re: Skript na vygenerování souboru dané velikosti
Přispěvatel: donny 18 Července 2008, 13:59:03
Create a 1GB file containing only zeros (bs=blocksize, count=number of blocks):
Kód: [Vybrat]
dd if=/dev/zero of=mytestfile.out bs=1000 count=1000000

http://en.wikipedia.org/wiki/Dd_(Unix)