tar.gz unpack options tool/script

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • JohnCassidy
  • Registratie: Augustus 2013
  • Laatst online: 26-02-2024
Bij het overstappen van het ene softwaresysteem naar een ander, heeft de latende partij de data (13Gb, 95000 word, pdf, jpg en txt-files) in 1 keer ge-tar.gz'ed zonder paden. Wanneer ik de boel uitpak dan wordt ik geconfronteerd met dubbele bestandsnamen die ik ofwel kan skippen/overschrijven of dubbel laat bestaan. Wanneer ik dubbel laat bestaan dan is het uiteindelijk 1 circus geworden van aangepaste bestandsnamen die al zo lastig te herleiden waren. Om een beetje overzicht te krijgen in de 95000 bestanden zoek ik naar een manier op de unpack actie zo te creëren dat ik grip heb op de manier waarop dubbele bestanden kunnen worden hernoemd.

Tools, scriptjes, etc waarmee ik op de Mac uit de voeten kan zijn van harte welkom! Waarvoor alvast dank.

Alle reacties


Acties:
  • 0 Henk 'm!

  • Will_M
  • Registratie: Maart 2004
  • Niet online

Will_M

Intentionally Left Blank

Waarom pak je die file niet uit in een andere (lege) directory?

tar xzf én je heb al je bestanden uit de file in een nieuwe dir.

Boldly going forward, 'cause we can't find reverse


Acties:
  • 0 Henk 'm!

  • JohnCassidy
  • Registratie: Augustus 2013
  • Laatst online: 26-02-2024
Het probleem is juist dat alle bestanden in 1 map terecht komen en dus ook de dubbele bestanden. Ik wil de dubbele bestanden tijdens het unpack proces laten voorzien van een aparte naamconventie zodat het overzichtelijk blijft.

Acties:
  • 0 Henk 'm!

  • DukeBox
  • Registratie: April 2000
  • Laatst online: 22:55

DukeBox

loves wheat smoothies

En hoe pak je ze dan uit ? Normaal gesproken is dat inclusief directory structuur, als die er niet in zit kan je die ook niet magisch tevoorschijn toveren.

Een optie is dan om dan eerst de file list te genereren en a.d.h.v. dubbele namen i.c.m. de crc hash er een versie nummer achter te plakken.

[ Voor 34% gewijzigd door DukeBox op 31-03-2021 13:51 ]

Duct tape can't fix stupid, but it can muffle the sound.


Acties:
  • +2 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 23-09 16:42

DataGhost

iPL dev

Met --occurrence=X zou je moeten kunnen kiezen welke "versie" van elk dubbel bestand wordt uitgepakt. Als je dat met verschillende X in verschillende mapjes laat doen net zolang tot het laatstgemaakte mapje leeg blijft, zou je alle bestanden moeten hebben.

Acties:
  • 0 Henk 'm!

  • JohnCassidy
  • Registratie: Augustus 2013
  • Laatst online: 26-02-2024
Ik heb unarchiver geprobeerd en simpelweg met Commander One. Commander One zet er volgordelijke nummers achter maar omdat er sowieso ook veel bestanden tussen zitten met nummering van zichzelf wordt het gewoon compleet onoverzichtelijk.
Dat de bestanden los zijn opgepakt en in 1 groot archive zijn gegooid is inderdaad erg onhandig want de de oorspronkelijke structuur kan ik niet zomaar verzinnen. Wat wel een oplossing zou zijn is het aanpassen van de naamgeving bij het uitpakken van dubbele bestanden of het plaatsen van dubbele bestanden in een separate map. Dat wordt dan scripts maar daar ben ik geen ster in. Dus hoop ik dat een tooltje met verder kan helpen.

Acties:
  • +1 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 23-09 16:42

DataGhost

iPL dev

JohnCassidy schreef op woensdag 31 maart 2021 @ 13:53:
Dat wordt dan scripts maar daar ben ik geen ster in. Dus hoop ik dat een tooltje met verder kan helpen.
for i in $(seq 1 500); do echo blabla iets optie${i} dinges; done

moet je een eindje mee op weg kunnen denk ik?

Acties:
  • 0 Henk 'm!

  • JohnCassidy
  • Registratie: Augustus 2013
  • Laatst online: 26-02-2024
DataGhost schreef op woensdag 31 maart 2021 @ 13:57:
[...]

for i in $(seq 1 500); do echo blabla iets optie${i} dinges; done

moet je een eindje mee op weg kunnen denk ik?
Zou graag willen dat ik daarmee direct uit de voeten kan, maar ik ga het gewoon proberen. :)

Acties:
  • +1 Henk 'm!

  • tweazer
  • Registratie: Augustus 2008
  • Laatst online: 22-09 18:39
In de terminal met
tar tvfz filename.tgz

zie je welke bestanden (met welke mogelijke paden) in die tgz file zitten. Met wat moeite kun je inderdaad met hetzelfde pad meerdere bestanden hebben: tar staat voor tape archive. Als je achteraan dat bestand 'gaat staan' kun je daar weer (potentieel eenzelfde genoemde_ bestanden aan toevoegen. Beetje raar om het zo te doen, maar misschien dat het origineel dezelfde bestanden, maar tijdens verschillende snapshot momenten bevat. Ook kent tar multivolume, maar dat zie ik weinig gebruikt worden.
Ook kan het zijn dat de genererende partij een rancuneuze aktie heeft uitgevoerd, ik zou dan blond meisje spelen "als ik ze uitpak zie ik enkel ....", een nieuwe versie laten maken, of uitgepakt laten aanleveren ?

Je zou een script kunnen schrijven dat de occurences van de doublures in kaart brengt en dan met de optie '--occurrence[=N]' (zie de manpage) steeds versie voor versie uitpakt, of de -k optie (maar kan weet ik niet uit mijn hoofd of je dan max 1, een optie krijgt, of toch nog meerdere versies, even proberen)

Ook zou je de -w optie kunnen proberen, mogelijk dat je bij een overwrite je de kans krijgt om de aktie te sturen, bij een overwrite zou je dan een eerdere versie in een ander scherm kunnen renamen. Er vanuit gaand dat dit slechts een klein percentage betreft ander is dit denk ik niet te doen..

Ben benieuwd hoe het issue afloopt, hier followuppen zou ik zeggen ?

Acties:
  • +1 Henk 'm!

  • Daedalus
  • Registratie: Mei 2002
  • Niet online

Daedalus

Moderator Apple Talk

Keep tryin'

FWIW: --occurrence[=N] is een optie van GNU tar, en niet van BSD tar zoals die standaard op macOS is geïnstalleerd. Je zou de GNU versie van tar kunnen installeren via bijvoorbeeld brew (brew install gnu-tar) om deze (en veel andere opties voor het afhandelen van 'dubbele' bestanden) te verkrijgen.

“You know what I've noticed Hobbes? Things don't bug you if you don't think about them. So from now on, I simply won't think about anything I don't like, and I'll be happy all the time!” | 宇多田ヒカル \o/

Pagina: 1