Вы можете нарезать и нарезать кубиками в одном скрипте awk
:
echo "test_list_20160915_bla.log" |
awk -F_ '$3 ~ /^[1-9][0-9]*$/ { print substr($3,1,4) "/" substr($3,5,2) "/" substr($3,7,2) }'
Здесь мы просто извлекаем группы цифр года, месяца и дня из третьего поля, разделенного знаком «_», и распечатываем их.
Или с sed
, который также обрабатывает ваше дополнительное требование:
(
echo "test_list_20160915_bla.log"
echo "test_20161205145213.log"
) |
sed -r 's!^.*_([0-9]{4})([0-9]{2})([0-9]{2}).*$!\1/\2/\3!'
Здесь мы используем регулярное выражение для захвата трехзначных групп для года, месяца и дня, отбрасывая все остальное, а затем распечатываем к трем группам присоединились /
.
/etc/profile.d/proxy-globalmenu.sh
) не из Fedora. Выясните, откуда оно взялось, и сообщите им. Если он был создан вами, просто исправьте его, добавив пробелы внутри []
и добавив недостающую кавычку. От
["$DESKTOP_SESSION" = gnome"]
до
[ "$DESKTOP_SESSION" = "gnome" ]
Спасибо всем причастным, извините за эту ошибку.https://github.com/lestcape/Gnome-Global-AppMenu/commit/10e8494e411db3c4f0ab1f7de6999743d8cabd8e
Меню Dbus в свободной структуре работает внутри сеансовой шины, а не внутри системной шины. Итак, то, что делает этот сценарий (в сочетании со строкой, которую я добавляю в файл /etc/environment ), управляет всеми корневыми приложениями, которые запускаются вне сеанса пользователя, поскольку они теряются в строке меню, но в этом случае расширение не может захватить меню Dbus. С помощью этого скрипта мы можем сбросить переменную среды UBUNTU _MENUPROXY для всех корневых приложений, предотвращая потерю их строки меню при запуске.