[MontelLUG] Aiuto con pipe/redirezioni/espressioni

Syslac lmezzalira a gmail.com
Ven 22 Apr 2011 14:05:44 CEST


Il 22 aprile 2011 13:12, Samuele <samuele.zanin a tiscali.it> ha scritto:
>  Devo spostare da una directory in un'altra tutti i file tranne l'ultimo
> creato (in quanto potrebbe essere in uso dal programma che lo genera).
> Ho già provato con un move completo sperando che il file in uso non venisse
> spostato, nella pratica a volte viene spostato comunque mandando in crisi il
> programma che non si trova più il file.
> Detto questo avevo pensato a qualcosa tipo:
>
> ls -1t > pippo.txt
> tail -f -n [$NumeroRighe - 1]
>
> dove $NumeroRighe lo calcolerei come
> cat pippo.txt | wc -l
>
> Ora, a parte che non riesco ad assegnare a $NumeroRighe il risultato del cat
> + wc. In teoria dovrei scrivere:
>  $NumeroRighe='cat pippo.txt | wc -l'
> ma ottengo un
> -bash: =cat pippo.txt | wc -l: command not found
> poi, riesco ad evitare di passare per il file pippo.txt?

Secondo me, è più semplice, per avere la lista dei file che ti
servono, una cosa del tipo :

ls -1t | tac | head -n -1

Prende la lista dei file per data di modifica, la inverte (per avere
l'ultimo modificato in fondo) e l'head taglia la lista alla penultima
riga...

Se ci tieni ad usare la variabile, come ha detto Cesco devi usare gli
apici inversi ``, ma se non ricordo male quando setti la variabile
devi indicarla senza $, che invece devi mettere quando usi il suo
valore : questo

NOTINCLUDE=`cat pippo.py | wc -l`
echo $NOTINCLUDE
173

A me funziona ;)

Syslac




More information about the montellug mailing list