Sådan komprimerer du filer med en bestemt filtype i flere mapper til en tar-fil med relative stier

Hvordan kan et script ændres, så filer med en bestemt filtype i flere mapper komprimeres til en enkelt tar-fil med relative stier i stedet for absolutte stier?

For at ændre et script, så det komprimerer filer med en bestemt filtype i flere mapper til en enkelt tar-fil med relative stier, skal du skifte til den øverste mappe og bruge `find` og `tar` kommandoerne sammen.

Sådan ændres et script for at komprimere filer med en bestemt filtype i flere mapper til en enkelt tar-fil med relative stier

For at ændre et script, så det komprimerer filer med en bestemt filtype i flere mapper til en enkelt tar-fil med relative stier i stedet for absolutte stier, kan du følge disse trin:

  1. Identificer filtypen:

    Bestem hvilken filtype du vil komprimere, f.eks. .txt, .log, etc.

  2. Find filerne:

    Brug en kommando som find til at lokalisere alle filer med den ønskede filtype i de relevante mapper.

    find /path/to/search -type f -name "*.txt"
  3. Skift til relative stier:

    For at sikre, at filerne tilføjes med relative stier, skal du ændre din arbejdsmappe til den øverste mappe, hvor søgningen starter.

    cd /path/to/search
  4. Komprimer filerne:

    Brug tar kommandoen til at komprimere filerne til en enkelt tar-fil. Brug --transform flaget til at ændre stierne til relative stier, hvis nødvendigt.

    find . -type f -name "*.txt" | tar -cvf archive.tar -T -

Her er et eksempel på et komplet script:

#!/bin/bash

# Skift til den øverste mappe
cd /path/to/search

# Find og komprimer filer med relative stier
find . -type f -name "*.txt" | tar -cvf archive.tar -T -

Dette script vil:

  • Skifte til den øverste mappe, hvor søgningen starter.
  • Brug find til at lokalisere alle filer med den ønskede filtype.
  • Komprimere filerne til en enkelt tar-fil med relative stier.