GNU/Linux >> Znalost Linux >  >> Linux

Jak vyloučím absolutní cesty pro tar?

Pro mě funguje nejlépe následující:

tar xvf some.tar --transform 's?.*/??g'

--transform argument je náhradní regex pro sed, do kterého je přiváděna každá extrahovaná cesta k souboru. Na rozdíl od --strip-components , odstraní všechny informace o cestě, nejen pevný počet komponent.


Pokud chcete odstranit prvních n úvodních komponent názvu souboru, potřebujete strip-components . Takže ve vašem případě při extrakci udělejte

tar xvf tarname.tar --strip-components=2

Manuová stránka obsahuje seznam tar je mnoho možností, včetně této. Některé starší verze tar použijte --strip-path pro tuto operaci.


Nesprávně používáte -C přepínač, který se používá pro změnu adresářů. Takže co musíte udělat, je:

tar -cf tarname.tar -C /www/path path/file1.txt path2/path3/file2.xls

nebo pokud chcete vše zabalit pod /www/path udělat:

tar -cf tarname.tar -C /www/path .

Můžete použít -C přepnout vícekrát.


Linux
  1. Jak vyloučit konkrétní úložiště pro aktualizaci Yum v CentOS / Red Hat

  2. Jak vyloučit adresář v find . příkaz

  3. Jak extrahovat soubor filename.tar.gz

  1. [Linux] :Jak vyloučit adresář při použití příkazu shellu „tar“.

  2. Tar adresář, ale neukládejte úplné absolutní cesty do archivu

  3. jak vytvořit multi tar archivy pro obrovskou složku

  1. Absolutní / Kanonické / Relativní cesty?

  2. Jak gzipovat adresář v Linuxu

  3. Jak mohu vynutit pouze relativní cesty ve výstupu hledání?