perl -E '$i=@{[`zypper lr`]}-2;map{`zypper rr $_`}1..$i'
Какой хороший способ написать этот perl-onliner в bash.(Я хотел бы удалить все репозитории с помощью zypper)?
Вот способ сделать это:
Первая команда считает количество строк, выданных командой zypper lr.
zypper lr
Итак, вы получите это:
COUNT_LINES=`zypper lr|tail +3|wc -l`
Вторая команда просто запускает zypper rr [NUMBER] для каждого числа 1 через счетчик; поэтому вы запускаете цикл for в bash, как показано в этом вопросе SO:
zypper rr [NUMBER]
for
Как перебрать диапазон чисел в bash?
zypper lr | grep -P "^\d" | cut -d'|' -f 1 | xargs sudo zypper rr
Но гораздо проще просто:
sudo rm -rf /etc/zypp/repos.d/*