Su un sistema linux ci sono tanti modi per fare una determinata operazione. Proprio alla luce di questo assunto, cerco di rompere il ghiaccio: Faccio delle cose con la speranza che voi mi diciate, "ehi, si può fare anche diversamente!" Posterete nei commenti le vostre proposte, vero? :))
Partiamo da cose semplici semplici....Chissà se l'idea di questi post diventi un sequel, proprio come è successo con "Un po' di AWK"... Intanto nel titolo ho messo #1...poi si vedrà!
Apro il terminale e creo una cartella
$ mkdir test
Mi sposto nella cartella creata
$ cd test
Creo dieci file di testo
$ touch {1..10}.txt
Scrivo la stessa frase in ognuno di essi
$ echo 'buongiorno a tutti!' | tee -a *.txt
Adesso con grep vado a cercare la stringa "buongiorno" nei dieci file.
$ grep "buongiorno" *.txt
La cartella test l'ho creata nella home. Poi con cd ci sono entrato e ora con cd ne esco...
$ cd
Finito l'esercizio, cancello cartella e i file in essa contenuti. A tal proposito Il comando da usare è rm -r, anche se io consiglio sempre rm -ir. Provate e capite il perchè.
$ rm -ir test
Alla prossima!
cd serve a cambiare directory (noi vecchi chiamiamo così le cartelle, quando non siamo in ambiente grafico).
RispondiEliminacd .. va alla dir "madre", cioè superiore di un livello.
cd da solo va nella tua home, equivale a cd ~
Con la tastiera italiana ~ lo ottieni con AltGr + ^
P.S.: bello il nuovo layout (anche se te l'ho già detto).
Grazie :))
EliminaCiao.
RispondiEliminaEcco come farei in Lua:
[sourcecode]
#!/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!"
--local wd = lfs.currentdir()
for i = 1, numfile do
local f = assert(io.open( i..".txt" , "w" ))
f:write(text)
f:close()
end
[/sourcecode]
e da terminale:
$ mkfile
oppure
$ mkfile 100
Saluti.
Roberto, sei un mito!!! Grazie per il tuo commento! :)
EliminaScusa mi cancelli nel commento la riga:
RispondiElimina--local wd = lfs.currentdir()
e poi cancella pure questo commento.
Non riesco a modificarlo.
Grazie Mille.
R.
Purtroppo blogger non mi fa modificare i commenti. Chi vuole usare il tuo script può correggerselo da solo tenendo conto di questo tuo secondo messaggio. :) Mi hai fatto venire in mente l'ispettore Gadget con i suoi messaggi che si autodistruggono nel giro di pochi secondi... Penso che sarebbe una bella trovata introdurli in un blog :D
EliminaEcco una versione in Go:
RispondiEliminapackage 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)
}
}
Gulp!
:)) Grazie!!! Intanto aspetto la prossima lezione di Go sul blog di Juhan! Chissà se si ricorda di scriverla... LOL
EliminaRagazzi correte troppo! Lua meriterebbe una telenovela tutta sua e per Go sono ancora all'inizio. Anche se questi script si capiscono al volo, vero?
RispondiEliminaSe poi blogspot rispettasse i rientri (indentazione)...
in python.
RispondiElimina[sourcecode]
for i in range(1,11):
open(str(i) + ".txt","w").write('Buon giorno a tutti')
[/sourcecode]
Per la ricerca devo cercare
Occhio: si è persa l'indenazione, necessaria, nella seconda riga
RispondiElimina