Вы можете использовать функцию расширения параметров оболочки: в частности,
${parameter#word}
${parameter##word}
Remove matching prefix pattern. The word is expanded to produce
a pattern just as in pathname expansion. If the pattern matches
the beginning of the value of parameter, then the result of the
expansion is the expanded value of parameter with the shortest
matching pattern (the ``#'' case) or the longest matching pat‐
tern (the ``##'' case) deleted.
Например,
for file in *; do echo mv -- "$file" "${file##*=}"; done
(удалите echo
, если оно кажется, поступает правильно).
Одна проблема, с которой вы можете столкнуться, заключается в том, что имена файлов могут стать неуникальными после удаления префиксов. Вы можете пропустить переименование этих случаев с помощью параметра -n
или - no-clobber
в mv
:
for file in *; do mv --no-clobber -- "$file" "${file##*=}"; done
или использовать -b
или - опция резервного копирования
для создания отдельных резервных копий: наиболее просто
for file in *; do mv --backup=numbered -- "$file" "${file##*=}"; done
, который добавит отличительные суффиксы . ~ 1 ~
, . ~ 2 ~
и так далее.
Я смог это исправить, добавив это в свой файл.desktop:
StartupWMClass=<GnomeShellTooltipOfTheSecondIcon>
xprop также можно использовать, чтобы узнать КЛАСС WM _.
Источник:https://askubuntu.com/a/635839