RISOLTO copia file più recente

Carcamagnu

Nuovo iscritto
Iscritto dal
4 Dicembre 2018
Messaggi
11
#1
devo copiare da una cartella il file più recente

cp `ls -tr1 percorso | tail -1` percorso

questo è l'errore che ricevo
cp: impossibile eseguire stat di "nomefile.mov": File o directory non esistente
Qualche idea?
 
Iscritto dal
28 Ottobre 2018
Messaggi
1,620
#2
devo copiare da una cartella il file più recente

cp `ls -tr1 percorso | tail -1` percorso

questo è l'errore che ricevo
cp: impossibile eseguire stat di "nomefile.mov": File o directory non esistente
Qualche idea?
come mai fai un " | " non il percorso? se ci sono spazi mettilo tra le virgolette "" dovrebbe aiutare con i path
 

iSamurai

Utente attivo
Iscritto dal
15 Novembre 2018
Messaggi
160
#5
Il problema è semplicemente che non ti ritorna un path assoluto ls, perciò se sei in una cartella diversa cerca di copiarti un file che potrebbe non esistere.

Per risolvere il tuo problema dovresti usare il flag "d" di ls che ritorna un percorso assoluto, però per farlo funzionare correttamente dovresti usare una wildcard.
Come soluzione io farei

Bash:
function copy-most-recent {
  most_recent=`ls -tr1d "$1/"* 2>/dev/null | tail -1`
  cp "$most_recent" "$2"
}
E poi la usi con
copy-most-recent foo destination
 
Ultima modifica:

Carcamagnu

Nuovo iscritto
Iscritto dal
4 Dicembre 2018
Messaggi
11
#6
Il problema è semplicemente che non ti ritorna un path assoluto ls, perciò se sei in una cartella diversa cerca di copiarti un file che potrebbe non esistere.

Per risolvere il tuo problema dovresti usare il flag "d" di ls che ritorna un percorso assoluto, però per farlo funzionare correttamente dovresti usare una wildcard.
Come soluzione io farei

Bash:
function copy-most-recent {
  most_recent=`/bin/ls -tr1d "$1/"* 2>/dev/null | tail -1`
  cp "$most_recent" "$2"
}
E poi la usi con
copy-most-recent foo destination
lo script restituisce questo errore
cp: impossibile eseguire stat di "/bin/ls -tr1d /home/video/* 2>/dev/null | tail -1": File o directory non esistente
 

iSamurai

Utente attivo
Iscritto dal
15 Novembre 2018
Messaggi
160
#7
Uh, svista mia, lo stavo provando sul mio pc dove "ls" è un alias di exa per cui stavo pigliando ls direttamente da bin, prova a togliere "/bin/", aggiorno la risposta precedente.
 

iSamurai

Utente attivo
Iscritto dal
15 Novembre 2018
Messaggi
160
#12
Sì ma ha senso per un server (forse) non aggiornare il sistema base così tanto, se è una macchina consumer probabilmente per tenere aggiornati i vari programmi sei costretto o ad aggiungere quintalate di ppa (e quindi probabilmente il tutto farà sembrare Debian unstable incredibilmente stabile) o a compilarti a mano tutto quello che vuoi aggiornare (e a quel punto perché non usare Gentoo :asd?).
Posso capire il non voler rincorrere l'ultima versione di un sistema operativo (anche perché a mio ricordo gli update di Ubuntu sono sempre una rottura di palle) ma forse sei stato un pelo conservativo, senza considerare che Canonical ha interrotto gli update (a meno che tu non abbia la versione ESM ma appunto è una feature a livello enterprise) alla 12.04 il 28 aprile 2017 :asd.
 

Carcamagnu

Nuovo iscritto
Iscritto dal
4 Dicembre 2018
Messaggi
11
#13
Mai avuto un problema con questa versione. E poi le cose vecchie sono sempre le migliori...
Post unito automaticamente

 

iSamurai

Utente attivo
Iscritto dal
15 Novembre 2018
Messaggi
160
#15
E poi le cose vecchie sono sempre le migliori...
Si ovvio, teniamoci cose non aggiornate con vulnerabilità conosciute (giusto per dirne una, il tuo sistema è al 100% vulnerabile a heartbleed) perché sono meglio e quei babbi dei programmatori fanno solo cose peggiori a lungo andare, poi però non lamentiamoci se magicamente ci scompaiono soldi.
 
Top

Caro utente, ti ringraziamo per essere quì.

Ci siamo accorti che stai utilizzando un AdBlock o qualche estensione che impedisce il caricamento completo della pagina.

Non abbiamo banner fastidiosi, animazioni flash o popup irritanti.

I nostri proventi ci aiutano a coprire i costi di gestione del sito, recuperare eventuale materiale per la redazione e continuare il nostro operato.

Per favore, aggiungi hwreload.it alla whitelist o disabilita direttamente la tua estensione che blocca la pubblicità.

Ti ringraziamo per l'attenzione.