Вы не можете указать версию что легко как прокручивающийся выпуск, pacman
только обеспечит последнее. При установке чего-то тот пакет хранится в компьютере на /var/cache/pacman/pkg/
dir, поэтому если Вы хотите понизить одну версию или указать другого, необходимо использовать pacman -U
и название пакета в Вашем кэше. Существует "машина времени" repos там, где люди просто хранят старые пакеты, можно загрузить версию, которую Вы хотите и используете pacman -U
устанавливать его.
Знайте, что необходимо "заблокировать" обновления того пакета, если Вы не хотите, чтобы он обновил, видел, как, проверьте Wiki в pacman страницу или этот https://wiki.archlinux.org/index.php/Downgrading_Packages#Q: _ I_cannot_downgrade_a_package.2C_because_of_dependencies.
Вы могли бы использовать awk
, чтобы сделать это - и в процессе устранить необходимость в SED
и Uniq
. Установить предел
соответственно
git diff --name-only HEAD~3 HEAD~0 |
awk -vlimit=3 -F'/' -vOFS='/' -- '--NF == limit && !x[$0]++'
diff --name-only HEAD~3 HEAD~0 | sed -ne 's|/||5;t' -e 's||/|4p' | sort -u
Ваша командная строка уже практически делает это. Вы можете нацелить [num]
на появление шаблона командой sed
s///
ubstitution, просто добавив к команде [num]
. Когда вы t
est для успешной замены и не указываете цель :l
abel, t
est ветки из скрипта. Это означает, что все, что вам нужно сделать, это t
est для s////5
или более косых черт, а затем p
rint то, что осталось.
Или, по крайней мере, это касается линий, которые превышают ваш максимум. Очевидно, у вас также есть минимальное требование. К счастью, это так же просто:
sed -ne 's|/||5;t' -e 's||/|4p'
... просто замените 4-е появление /
на линии на себя и прикрепите ваш p
rint к s///
ubstitution flags. Так как любые строки, совпадающие с /
5 или более раз уже были обработаны, строки, содержащие 4 совпадения /
, содержат только 4.
Для уникалов uniq
не будет работать, если его входной сигнал не будет sort
ed - так что в любом случае Вы можете использовать sort -u
.
Запустите на вашем примере данные sed ... | sort
pipeline printints:
sites/all/modules/table_trash/css
sites/all/modules/table_trash/drush
sites/all/modules/table_trash/js
sites/all/modules/table_trash/libraries
sites/all/modules/views_aggregator/views
sites/all/modules/views_aggregator/views_aggregator_more_functions
sites/all/modules/views_watchdog/views