[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [riminilug-general] Risposta tardiva a: "Mi serve uno script"



Il giorno mar, 11/09/2012 alle 14.41 +0200, Ivan Tarozzi ha scritto:

> Cut
> 
> premesso che anch'io conosco molto poco sed e ogni volta che lo devo 
> usare mi fa arrabbiare, volevo chiedere a te e ad altri che differenza 
> c'è tra il passare lo script di sed con il parametro -e (primo comando) 
> e senza (secondo comando).
> 
> leggendo questo nella man page:
> ----
> If  no  -e, --expression, -f, or --file option is given, then the first
> non-option argument is taken as  the  sed  script  to  interpret.   All
> remaining  arguments  are  names  of input files; if no input files are
> specified, then the standard input is read.
> -----------
> sembra che la chiamata senza -e sia il modo implicito per passare lo 
> script, e quindi, in assenza di altri parametri, le 2 modalità sono 
> esattamente equivalenti (giusto?). Mi faceva solo strano vedere che in 
> un posto lo usi e nell'altro no.... o c'è una spiegazione diversa e più 
> fine?

Grazie Ivan , come al solito,
per il tuoi spunti sempre interessanti.

dal link:

http://www.freebsd.org/doc/it/books/unix-introduction/text-processing-commands.html


Opzioni generali di sed

-e script
script di editing
-n
non stampa l'output di default, ma
solamente quelle     linee
specificate dalle funzioni p o s///p
-f script_file
prende lo script di editing dal file
specificato

Non essendo troppo ferrato in sed ho fatto delle prove :

1 ) con sed (senza -e) e sed -e , l'output è lo stesso.

2) usando la pipe (|) al posto dello slash (/) , secondo me migliora la
leggibilità

3) in effetti hai ragione sulla possibilità di dare "in pasto" a sed il
file da analizzare senza passare da cat.
 
> Visto che poi Andrea chiedeva metodi alternativi, invece di usare awk si 
> può usare sempre sed per fare lo split del file:
> 	sed 's/, /\n/g' file.csv
> Ovvero si sostituisce il la coppia di caratteri virgola-spazio (, ) con 
> il carattere di newline.... ma non aggiunge molto a quanto fatto da 
> Andrea via awk :)

Grazie per questo ultimo esempio di utilizzo di sed, senza utilizzare
awk. Mi tornerà utile.

Alla prossima.

Andrea G.



---------------------------------------------------------------------
Per cancellarsi, scrivi a: riminilug-general-unsubscribe@xxxxxxxxxxxx
Se vuoi conoscere altri comandi, scrivi a: riminilug-general-help@xxxxxxxxxxxx