PDA

Visualizza Versione Completa : Domanda per copia di file/sync



KymyA
22-07-24, 10:52
Salve bella gente.

Dunque... vediamo se riesco a farmi capire.
Ho 2 microsd card con una struttura di cartelle simili.
In queste cartelle ci sono dei file.
Io vorrei copiare i file mancanti dalla microsd_1 alla microsd_2 senza considerare l'estensione.
Per farla breve...

sulla microsd_1 c'è la cartella atari2600 con dei file in formato *.bin e *.a26
anche sulla microsd_2 c'è la cartella atari2600 con altri file dentro

Io vorrei che, esempio, copiasse il file POPEYE.A26 solo e solo se nella destinazione NON ESISTE il file POPEYE.*

Con questo esempio credo di essermi spiegato abbastanza bene.

Esiste quindi un prodotto o sequenza bash per farlo sotto linux?
(perché Linux? perché Windows rompe i coglioni solo nel vedere le sdcard ... figuriamoci la copia che dopo tot tempo si blocca per chiedere SOVRASCRIVO? - quindi preferisco linux per ste cose che è più intelligente)

Grazie.

Leizar
22-07-24, 11:07
Copilot mi dice:



To copy files from one folder to another in Linux while avoiding overwriting existing files with the same name (ignoring the extension), you can use the following approach:

First, create a list of files in the source folder (excluding extensions):
cd /source/
find . -type f -exec sh -c 'basename "$1" | cut -d "." -f 1' _ {} \; > /tmp/source_files.txt

Next, create a similar list of files in the destination folder:
cd /destination/
find . -type f -exec sh -c 'basename "$1" | cut -d "." -f 1' _ {} \; > /tmp/destination_files.txt

Now compare the two lists and copy only the files that don’t exist in the destination folder:
while read -r filename; do
if ! grep -q "^$filename$" /tmp/destination_files.txt; then
cp "/source/$filename"* /destination/
fi
done < /tmp/source_files.txt

This script ensures that files are copied only if their base names (ignoring extensions) don’t already exist in the destination folder. Adjust the paths (/source/ and /destination/) as needed for your specific case. Happy copying! ��



sono 100 euri Kymia, grazie ed arrivederci

Darkstar
22-07-24, 11:13
Salve bella gente.

Dunque... vediamo se riesco a farmi capire.
Ho 2 microsd card con una struttura di cartelle simili.
In queste cartelle ci sono dei file.
Io vorrei copiare i file mancanti dalla microsd_1 alla microsd_2 senza considerare l'estensione.
Per farla breve...

sulla microsd_1 c'è la cartella atari2600 con dei file in formato *.bin e *.a26
anche sulla microsd_2 c'è la cartella atari2600 con altri file dentro

Io vorrei che, esempio, copiasse il file POPEYE.A26 solo e solo se nella destinazione NON ESISTE il file POPEYE.*

Con questo esempio credo di essermi spiegato abbastanza bene.

Esiste quindi un prodotto o sequenza bash per farlo sotto linux?
(perché Linux? perché Windows rompe i coglioni solo nel vedere le sdcard ... figuriamoci la copia che dopo tot tempo si blocca per chiedere SOVRASCRIVO? - quindi preferisco linux per ste cose che è più intelligente)

Grazie.

rsync.
man rsync.

dove mando la fattura?

KymyA
22-07-24, 12:04
Copilot mi dice:



sono 100 euri Kymia, grazie ed arrivederci

eh...ma se non mi dai delle coordinate spazio-tempo dove vuoi che te li versi?
cazzo ho quasi riempito la microsd da 512GB...

...la nuova Anbernic sta esplodendo! (aggiungo: figo il dual boot tra Anberelec e Android dove si può utilizzare il touch. Direi che mi trovo soddisfatto dell'acquisto. Ora vorrei capire come giocare in coop tra due anbernic in rete locale)