Команда Grep, которая находит/исключает всю строку, где символ разделителя появляется определенное количество раз?

Вы не можете указать версию что легко как прокручивающийся выпуск, 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.

3
09.02.2015, 02:00
2 ответа

Вы могли бы использовать awk , чтобы сделать это - и в процессе устранить необходимость в SED и Uniq . Установить предел соответственно

git diff --name-only HEAD~3 HEAD~0 | 
awk -vlimit=3 -F'/' -vOFS='/' -- '--NF == limit && !x[$0]++'
2
27.01.2020, 21:23
diff --name-only HEAD~3 HEAD~0 | sed -ne 's|/||5;t' -e 's||/|4p' | sort -u

Ваша командная строка уже практически делает это. Вы можете нацелить [num] на появление шаблона командой sed s///ubstitution, просто добавив к команде [num]. Когда вы test для успешной замены и не указываете цель :label, test ветки из скрипта. Это означает, что все, что вам нужно сделать, это test для s////5 или более косых черт, а затем print то, что осталось.

Или, по крайней мере, это касается линий, которые превышают ваш максимум. Очевидно, у вас также есть минимальное требование. К счастью, это так же просто:

sed -ne 's|/||5;t' -e 's||/|4p'

... просто замените 4-е появление / на линии на себя и прикрепите ваш print к 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
1
27.01.2020, 21:23

Теги

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