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

Re: Debian/sid: uso di 'history expansion' in ciclo for?



* onetmt <onetmt@gmail.com> [150216, 08:44]:
> On 15/02/2016 02:21, Ennio-Sr wrote:
> > [...]
> > chiedo se è possibile usare l'espansione storica in un ciclo for.
> > Per intenderci, qualcosa del tipo:
> > # for x in `cat ppp` ; do !$x ; done      # (dove in ogni rigo di ppp c'è il n.
> >                                           #  del comando da ripetere)
> > che, naturalmente non funziona ;-(
> > 

> Potresti provare a recuperare i comandi da ~/.bash_history

Mmh... Ho già recuperato e salvato i comandi da ripetere in un file che
si presenta così strutturato:

850 psql mydb -c "update tabx set colloc='x.v.z' where n_pr=nnnn;"
862 psql mydb -c "update tabx set colloc='x.v.z' where lower(tit) like '%tit da ricercare%';"

La via più semplice e rapida, se funzionasse, sarebbe quella ipotizzata
sopra (ho corretto il comando, scritto frettolosamente stanotte).
Ho anche provato a isolare il comando che segue il numero, salvarlo in
un file, e usare il ciclo for di cui sopra, ma sputa fuori una serie di
eccezioni e, in pratica, esce senza modificare nulla. 
Ho provato anche a usare all`inizio di ogni riga:
       sh /home/user/psql mydb -c  ecc. 
ma il risultato è identico, salvo che mi riporta subito in un'altra
shell e, quando do exit ripropone la serie di eccezioni di cui sopra
(relative al fatto che non trova comandi validi da eseguire.

La via più lunga - e mi sa che dovrò percorrerla tutta! - è quella di
ridare ad uno ad uno tutti i '!nnn' a manina, a meno che qualche
osservatore più illuminato non suggerisca una valida soluzione.

Grazie comunque. Ciao, ennio

-- 
[Perche' usare Win$ozz (dico io) se ..."anche uno sciocco sa farlo.   \\?//
 Fa' qualche cosa di cui non sei capace!"  (diceva Henry Miller) ]    (°|°)
[Why use Win$ozz (I say) if ... "even a fool can do that.              )=(
 Do something you aren't good at!" (as Henry Miller used to say) ]


Reply to: