GNU/Linux >> Linux Esercitazione >  >> Linux

tar -C con un modello di file con caratteri jolly

Il problema è che *.xml viene interpretato dalla shell, non da tar. Pertanto i file xml che trova (se ce ne sono) si trovano nella directory in cui hai eseguito il comando tar.

Dovresti utilizzare un'operazione in più fasi (magari coinvolgendo le pipe) per selezionare i file desiderati e quindi tararli.

Il modo più semplice sarebbe solo cd nella directory in cui si trovano i file:

$ (cd /path/to/file && tar -cf /path/to/example.tar *.xml)

dovrebbe funzionare.

Le parentesi raggruppano i comandi insieme, quindi quando hanno finito sarai ancora nella tua directory originale. Il &&indica il tar verrà eseguito solo se l'iniziale cd ha avuto successo.


In uno dei tuoi tentativi:

tar -cf example.tar -C /path/to/file "*.xml"

il carattere * è effettivamente passato a tar. Il problema, tuttavia, è che tar supporta solo la corrispondenza dei caratteri jolly sui nomi dei membri di un archivio. Pertanto, mentre puoi utilizzare i caratteri jolly durante l'estrazione o l'elenco dei membri da un archivio, non puoi utilizzare i caratteri jolly quando crei un archivio.

In tali situazioni spesso ricorro a trovare (come hai già detto). Se hai GNU find, ha la bella opzione per stampare solo il percorso relativo, usando l'opzione -printf:

find '/path/to/file' -maxdepth 1 -name '*.xml' -printf '%P\0' \
| tar --null -C '/path/to/file' --files-from=- -cf 'example.tar'

La risposta accettata presuppone che i file siano presi da una singola directory. Se usi più -C opzioni, allora hai bisogno di un approccio più generale. Il comando seguente fa espandere alla shell i nomi dei file, che vengono poi passati a tar .

tar -cf example.tar -C /path/to/file $(cd /path/to/file ; echo *.xml)

Linux
  1. Apertura di un file .tar.gz con un singolo comando

  2. Avviso con nftw

  3. Come posso proteggere con password un file .tgz con tar in Unix?

  4. creare tar con più directory e percorsi di file

  5. Copia file Linux con ETA?

Come estrarre (decomprimere) il file tar.xz

Come creare file Tar Gz

Comando Linux WC con esempi

Firme digitali con GnuPG

14 Comandi Tar di base in Linux con esempi per i principianti

Estrai il file tar.gz in Linux