Portál AbcLinuxu, 7. května 2025 01:16
/path/*/path/*.*
?/path/aaa/path/*.*
/path/bbb/path/*.*
...
/path/zzz/path/*.*
aaa, bbb, ..., zzz
su rozne adresare resp. ich mena nie su ziadna postupnost.
Řešení dotazu:
Ano, a doplním, že to, co tar
zpracuje, lze snadno zjistit použitím příkazu ls
se stejnou expanzní cestou v souborovém systému. A bez zaměňování příkazu za ls
v Bashi také klávesovou zkratkou C-x *
, která způsobí expanzi, nebo klávesovou zkratkou C-x g
, která pouze vypíše, na co by se expandovalo.
-T, --files-from=FILE Get names to extract or create from FILE.Takže:
find ... | tar ... -T -
ls -1 /path/*/path/*.* > list.txt
tar --files-from=list.txt ...
nebo
tar --files-from=list.txt --verbatim-files-from ...
To výše zahrne pouze uvedené soubory. To níže vyloučí uvedené soubory:
tar
a --exclude=PATTERN
, --exclude-ignore=FILE
, --exclude-ignore-recursive=FILE
, --exclude-from=FILE
.
Viz odpovědi v komentářích níže (4).
tar
nebo cokoli jiného), ale na použitém shellu. Dávejte pozor na to, kolik souborů tomu výrazu vyhoví. Aplikaci se předává až výsledek po expanzi, který může být příliš dlouhý. Pak se používá buď xargs
, nebo se seznam souborů vypíše do souboru a ten se předá jako zdroj souborů pro aplikaci (pokud to aplikace umí – tar
ano).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.