Вы можете сделать это, чтобы предоставить tar
список всех файлов внутри protTests
, кроме тех, которые являются символическими ссылками:
find protTests -maxdepth 1 -mindepth 1 -not -type l -print0 |
tar --null --files-from - -cvf protTests.tar
Между прочим, ваша существующая команда:
tar -cvf protTests.tar protTests/*
не будет архивировать все файлы в protTests
, он будет архивировать только те, чьи имена не начинаются с .
(те, что не скрыты). Оператор *
glob пропускает файлы, имена которых начинаются с .
по дизайну. У команды также есть проблема, заключающаяся в том, что если protTests
имеет много файлов (более многих тысяч), тогда protTests / *
может расширяться до слишком большого количества аргументов, чтобы поместиться в командной строке.
У более простой команды, подобной этой, не будет ни одной из этих проблем:
tar -cvf protTests.tar protTests
No estoy seguro de que pueda mostrar tanto el nombre del archivo como la línea cambiada en un solo comando, pero a continuación se enumerarán todos los archivos en los que una línea que contiene this->config
ha cambiado:
git diff --name-only -G"this->config"