Nel post precedente avevo creato prima una directory, poi all'interna della stessa 10 file e, infine, col comando tee avevo scritto la stessa frase in ognuno di essi.
Passiamo ora agli script di Robitex che creano dieci file, ci scrivono dentro la stessa frase, ma non creano la directory :))
Iniziamo dallo script in Lua. Per installare Lua su debian testing (ma penso anche su ubuntu)
$ sudo apt-get install lua5.2
#!/usr/bin/lua
-- comando per la creazione di file di testo
-- arg1 -> numero file (default 10)
local numfile = arg[1] or 10
local text = "Buongiorno a tutti!"
for i = 1, numfile do
local f = assert(io.open( i..".txt" , "w" ))
f:write(text)
f:close()
end
Ora creiamo la cartella (directory) test e spostiamoci dentro$ mkdir test && cd test
mettiamoci dentro lo script. (mkfile)
E poi eseguiamolo
$ ./mkfile
Passiamo allo script in Go
Per installare Go su debian
$ sudo apt-get install golang
package main
import (
"io/ioutil"
"fmt"
)
var text []byte = []byte("Buongiorno a tutti!")
func main() {
for i:=1; i<10; i++ {
t :=fmt.Sprintf("%d.txt", i)
ioutil.WriteFile(t,text, 0644)
}
}
Anche in questo caso creiamo la cartella test e spostiamoci dentro
$ mkdir test && cd test
mettiamoci dentro lo script (mkfile.go)
ed eseguiamolo
$ go run mkfile.go
Pure io ho creato uno script semplice semplice, in bash :))
#!/bin/bash
a=test
test -d $a || mkdir -p $a && cd $a
touch {1..10}.txt
for i in *.txt; do
echo 'buongiorno a tutti!' | tee -a $i
done
exit 0
Salviamolo nella home, rendiamolo eseguibile$ chmod +x mkfile.sh
Ed eseguiamolo
$ ./mkfile.sh
Lo script crea la cartella, si sposta dentro la stessa e crea i dieci file; infine scrive l'identica frase in ognuno di essi.
Vi ricordo che il caro Juhan sta tenendo un corso su Go. Ha già scritto due post. Qui e qui.
Il Blog di Robitex invece lo trovate qui. Ritengo che sia un blog straordinario e ricchissimo di contenuti. Inoltre vi invito a leggere un suo post sulle espressioni regolari in Perl. qui.
Alla prossima
Questo blog sta diventando l'Accademia dei Linguaggi di Programmazione.
RispondiEliminaLOL!
Elimina