Предположим, у вас есть tarball, lotsofdata.tar.gz
и вы просто знаете, что там есть один файл, который вы хотите, но все, что вы можете вспомнить, это то, что его имя содержит слово contract
. У вас есть два варианта:
Либо используйте tar
и grep
для отображения содержимого вашего архива, чтобы вы могли узнать полный путь и имя любых файлов, которые соответствуют части, которую вы знаете, а затем используйте, tar
чтобы извлечь этот файл, теперь вы знаете его точные детали, или вы можете использовать два малоизвестные ключи просто извлекают все файлы, которые совпадают с тем, что вы мало знаете о имени вашего файла - вам не нужно знать полное имя или какую-либо часть его пути для этой опции. Детали:
Опция 1
$ tar -tzf lotsofdata.tar.gz | grep contract
Это будет список деталей всех файлов, имена которых содержат вашу известную часть. Затем вы извлекаете то, что вы хотите, используя:
$ tar -xzf lotsofdata.tar.gz <full path and filename from your list above>
Вам может понадобиться ./
перед вашим путем, чтобы он работал.
Вариант 2
$ tar -xzf lotsofdata.tar.gz --wildcards --no-anchored '*contract*'
До вас, что вы находите проще или наиболее полезным.