Portál AbcLinuxu, 23. července 2025 01:07


Dotaz: uprava skriptu

18.11.2012 18:15 jany2 | skóre: 30 | blog: jany_blog
uprava skriptu
Přečteno: 318×
Odpovědět | Admin
Zdravim Kedze v skriptovani som uplny amater, poprosil by som poradit. Mam nainstalovany virtualbox a potreboval som robit snimky z okna virtualboxu. Nakoniec sa mi to podarilo vdaka tomu navodu http://www.dedoimedo.com/computers/virtualbox-screenshot.html

Pouzil som aj skript, ktory je uvedeny v priklade

#!/bin/bash
VBoxManage controlvm <vm name> screenshotpng ~/image-`date +%s`.png
exit 0

ale vytvara mi to obrazky image-135322xxxx.png. Co by som mal pouzit miesto `date +%s` aby som mal napr subor s nazvom image-`poradove cislo`.png (prip aby to zacinalo 01, 02, 03 .....09, 10, 11 ....)

upozornujem, ze v linuxe som vecny zaciatocnik ...
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Jendа avatar 18.11.2012 20:17 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: uprava skriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
last=`ls ~/image-*.png | sed -re "s/image-([0-9]+).png$/\1/" | tail -n 1`
let last++
VBoxManage controlvm <vm name> screenshotpng ~/image-$last.png
Nezkoušel jsem to a je v tom race-condition.
Jendа avatar 18.11.2012 20:19 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: uprava skriptu
ls ~/image-*.png
No jasně, * neřadí tak, jak jsem čekal. Takže ještě sort -n.
last=`ls ~/image-*.png | sed -re "s/image-([0-9]+).png$/\1/" | sort -n | tail -n 1`
19.11.2012 07:59 jany2 | skóre: 30 | blog: jany_blog
Rozbalit Rozbalit vše Re: uprava skriptu
srdecna vdaka. Ale zrejme tam nieco nesedi, alebo som nieco do skriptu nedal ?

Skript vyzera presne takto
#!/bin/bash
last=`ls ~/image-*.png | sed -re "s/image-([0-9]+).png$/\1/" | sort -n | tail -n 1`
let last++
VBoxManage controlvm win98 screenshotpng ~/image-$last.png
exit 0
Urobi to prvy obrazok image-1.png a dalsie uz nechce robit
upozornujem, ze v linuxe som vecny zaciatocnik ...
Jendа avatar 19.11.2012 14:21 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: uprava skriptu
Neděkuj, když tam mám chybu :)
last=`ls ~/image-*.png | sed -re "s/^.*image-([0-9]+).png$/\1/" | sort -n | tail -n 1`
let last++
touch ~/image-$last.png
19.11.2012 15:07 jany2 | skóre: 30 | blog: jany_blog
Rozbalit Rozbalit vše Re: uprava skriptu
o5 vdaka :)

Teraz je to uz lepsie, robi to obrazky image-1.png; image-2.png ... atd. Ja som ale na zaciatku pisal, aby cislovalo nie od 1, ale od 01. Ale nevadi aj tak je to dobre.

Ja sice tomu skriptu vobec nerozumiem (tak teoreticky trocha, ale napisat by som to nedokazal), ale mozno by este jednoduchsie bolo prepisat skript, aby ukladal s datumom a casom, alebo aspon casom. napr image-15-11-2012-15-08-10, alebo nieco podobne
upozornujem, ze v linuxe som vecny zaciatocnik ...
Jendа avatar 19.11.2012 15:39 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: uprava skriptu
Teraz je to uz lepsie, robi to obrazky image-1.png; image-2.png ... atd. Ja som ale na zaciatku pisal, aby cislovalo nie od 1, ale od 01. Ale nevadi aj tak je to dobre.
Uff, nuly nějak umí udělat printf, ale musel bych se podívat do manuálu :)
Ja sice tomu skriptu vobec nerozumiem (tak teoreticky trocha, ale napisat by som to nedokazal)
Ten sed z řetězce /home/foo/image-1.png vyřízne to číslo, pak je sort seřadí sestupně a poslední (tj. nejvyšší) se vezme - tail -n1 vypíše poslední řádek.
ale mozno by este jednoduchsie bolo prepisat skript, aby ukladal s datumom a casom, alebo aspon casom. napr image-15-11-2012-15-08-10, alebo nieco podobne
Tak to ti stačí upravit v původním skriptu formát v date - jak má +%s (to je unixový timestamp), tak třeba date +"%d-%m-%Y-%H-%M-%S" vypíše 19-11-2012-15-38-35.
19.11.2012 20:44 jany2 | skóre: 30 | blog: jany_blog
Rozbalit Rozbalit vše Re: uprava skriptu
Tak nakoniec ten date mi vyhovuje lepsie .... sorry ze som ta zbytocne prehnal s tym skriptom

este raz thx
upozornujem, ze v linuxe som vecny zaciatocnik ...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.