Rediger zip-filer uden unzip og zip: Effektive værktøjer og scripts

Findes der et værktøj eller en shell script, der kan redigere en fil inde i en zip-fil uden eksplicit at bruge unzip og zip?

Findes der et værktøj eller en shell script, der kan redigere en fil inde i en zip-fil uden eksplicit at bruge unzip og zip? Python's zipfile modul og Perl's Archive::Zip modul kan bruges til at redigere filer i en zip-fil uden eksplicit at unzippe og zippe.

Findes der et værktøj eller en shell script, der kan redigere en fil inde i en zip-fil uden eksplicit at bruge unzip og zip?

Ja, der findes værktøjer og scripts, der kan redigere filer inde i en zip-fil uden eksplicit at bruge unzip og zip kommandoerne. Her er nogle muligheder:

  • Python med zipfile modul:
    • Python's indbyggede zipfile modul kan bruges til at læse og skrive til zip-filer uden at skulle eksplicit unzippe og zippe filerne.
    • Eksempel:
      import zipfile
      
      with zipfile.ZipFile('example.zip', 'a') as zipf:
          with zipf.open('file_to_edit.txt', 'w') as file:
              file.write(b'New content')
  • Perl med Archive::Zip modul:
    • Perl's Archive::Zip modul kan også bruges til at manipulere zip-filer direkte.
    • Eksempel:
      use Archive::Zip qw(:ERROR_CODES :CONSTANTS);
      
      my $zip = Archive::Zip->new();
      unless ($zip->read('example.zip') == AZ_OK) {
          die 'read error';
      }
      
      my $member = $zip->memberNamed('file_to_edit.txt');
      $member->contents('New content');
      
      unless ($zip->writeToFileNamed('example.zip') == AZ_OK) {
          die 'write error';
      }
  • Shell script med zipnote:
    • zipnote kan bruges til at redigere kommentarer i zip-filer, men det er ikke direkte til at redigere filindhold. Dog kan det kombineres med andre værktøjer for at opnå lignende funktionalitet.
    • Eksempel:
      #!/bin/bash
      
      zipfile="example.zip"
      file_to_edit="file_to_edit.txt"
      tempfile="tempfile.txt"
      
      unzip -p "$zipfile" "$file_to_edit" > "$tempfile"
      echo "New content" > "$tempfile"
      zip -u "$zipfile" "$tempfile" --out "$zipfile"
      rm "$tempfile"

Disse metoder tillader redigering af filer inde i en zip-fil uden at skulle eksplicit unzippe og zippe filerne manuelt, hvilket kan være nyttigt for automatisering og script-baserede løsninger.