Byobu на самом деле устанавливает настольное приложение, также. В классическом Gnome (Монетный двор?), это должно находиться под Приложениями-> Аксессуары.
Когда Вы работаете, byobu-включают, это помещает строку в конце Вашего ~/.profile
. Если Вы хотите, чтобы byobu запустился каждый раз, когда Вы выполняете xterm, то необходимо добавить ту строку к ~/.bashrc
вместо этого. Обратите внимание, что при использовании tmux (а не экран) как byobu бэкенд необходимо будет сбросить $TMUX
переменная также. Попробуйте это:
echo "_byobu_sourced=1 TMUX= . /usr/bin/byobu-launch" >> ~/.bashrc
Полное раскрытие: Я - исходный автор и текущий специалист по обслуживанию Byobu.
Если Ваш grep
GNU grep
, вот быстрое и грязное решение:
grep -A1 "Prepare to remove role" | grep "Delete Successful" | wc -l
grep опция -A1
говорит grep печатать согласующий отрезок длинной линии И одну строку после согласующего отрезка длинной линии. Второй grep затем только печатает строки, где удаление успешно.
Обратите внимание, что это будет только работать надежно, когда "Подготовятся удалять роль, X" строк всегда сразу сопровождаются, "Удаляют Успешную" строку.
Также примечание: Вам не нужно wc -l
потому что grep встроили ту функциональность:
grep -A1 "Prepare to remove role" | grep -c "Delete Successful"
С awk:
awk '/Delete Successful/ && last_line ~ /Prepare to remove role/ {n++}
{last_line=$0}
END {print n+0}'
Принятие их является этими только двумя путями, "Удаляют Успешный", может войти в журнал, почему не только используют определенную математику?
SUCCESS=$(grep 'Delete Successful' | wc -l)
POLICY_COUNT=$(grep 'Prepare to delete policy X' | wc -l)
POLICY_FAIL=$(grep 'Failed to delete policy X' | wc -l)
POLICY_SUCCESS=$(( $POLICY_COUNT - $POLICY_FAIL ))
ROLE_SUCCESS=$(( $SUCCESS - $POLICY_SUCCESS ))
(Так как алгоритмы только для оболочки оказались значительно медленнее, чем внешние инструменты, я просто удалил любые ссылки на них. Исходные данные могли бы быть интересными все же.)
Данные тестирования:
Prepare to remove role foo
Delete Successful
Prepare to remove role bar
Failed to delete role bar: 1
Prepare to remove policy baz
Delete Successful
Prepare to remove role ban
Delete Successful
something
else
Prepare to remove role bay
Failed to delete role bar: 2
Prepare to remove role bat
Failed to delete role bar: 1
Сравнительный тест с данными тестирования выше повторил миллион раз (это составляет 306 МБ), лучше всего из трех чередованных выполнений, отсортированных путем увеличения real
время:
Тестовый код:
for index in {1..3}
do
for path in grep.sh awk.sh
do
echo "$path:"
time bash "$path"
echo
done
done
Система тестирования: Intel Core i7 3,07 ГГц с 6 ГБ RAM.
mawk
значительно быстрее, чем простофиля. Количество центральных процессоров в grep решении будет иметь значение. Локаль будет иметь значение (более старые версии простофили, как было известно, были мертвы медленный в многобайтовых локалях). Можно хотеть полагать, что процессорное время по сравнению со стеной показывает время. Частота возникновения во входе шаблонов для соответствия может также иметь значение.
– Stéphane Chazelas
09.03.2013, 15:32
grep
GNU
? – amphibient 08.03.2013, 23:06grep --version
скажет Вам наверняка (GNU grep скажет, что это - GNU grep). Существуют другие grep реализации та поддержка-A
, такой как FreeBSD и BusyBox (если включено во время компиляции). – Gilles 'SO- stop being evil' 09.03.2013, 00:29--version
опция, которая скажет Вам, если это будет GNU grep. GNU grep является значением по умолчанию grep большинства дистрибутивов Linux и большей части BSDs и производных включая MacOS/X, но обычно не находится на других коммерческих Нельдах как Солярис, HP/UX или AIX или под другим именем какggrep
или другое местоположение как/opt/gnu/bin/grep
. – Stéphane Chazelas 09.03.2013, 00:30-A
. – Gilles 'SO- stop being evil' 09.03.2013, 00:36