vediamo...
1)
$ echo "( ciao
> a tutti
> oggi
> piove
> )" > prova.txt
$ cat prova.txt
( ciao
a tutti
oggi
piove
)
$ var=$(cat prova.txt); echo $var |sed 's/(.*)/(purtroppo\nda\ noi\npiove\ndomenica)/' |sponge prova.txt
$ cat prova.txt
(purtroppo
da noi
piove
domenica)
due note:
1- se il file è grosso sarebbe meglio non metterlo tutto in una variabile
2- in questo caso non puoi fare a meno di sponge: se redirigi semplicemente l'output di sed nel file, l'interprete (bash) per prima cosa ti vuota il file di destinazione, che incidentalmente è quello di ingresso, e ottieni un file vuoto
2)
$ sed -i 's/pippo/pippo\ntopolino/' file.txt
3)
mah...
for file in $elenco_dei_file; do sed -i <comando> $file; done

comunque anche awk può fare cose mirabolanti...
ciao
tindal
Per il terzo punto, se non ho una lista di file, ma voglio fare l'operazione per tutti i file che sono presenti in una data cartella, come faccio? oppure come creo un file con la lista dei file della cartella?