[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