Создать или обновить, если существует tar-файл

С помощью GNU grep:

| grep -o '.*HTTP/1\.1" 200'

С помощью GNU sed:

| sed -r 's/(.*HTTP\/1\.1" 200).*/\1/'
1
28.01.2019, 22:01
1 ответ

Просто используйте tar czvf ~/tarfile.tar.gz /path/to/dir/без " *", что предотвращает файлы, начинающиеся с "." от включения.

Если вы хотите обновить существующий tarfile.tar.gz(, т. е. добавить в него больше файлов ), вам понадобится небольшой хак, чтобы обновить его, потому что tar сталкивается с проблемами при обновлении файла, сжатого с помощью gzip. Этот oneliner «распаковывает, обновляет и сжимает» файл или создает новый.

[ -f tarfile.tar.gz ] && (gunzip tarfile.tar.gz; tar uf tarfile.tar /path/to/dir/; gzip tarfile.tar) || tar cvfz tarfile.tar.gz /path/to/dir/

Самый простой вариант — использовать tar uf tarfile.tar /path/to/dir/, который создает файл или обновляет его. После этого вам нужно будет сжать его вручную (, возможно, сначала скопировать его в другое место ).

2
27.01.2020, 23:31

Теги

Похожие вопросы