Вы можете использовать prename, которое часто распространяется вместе с Perl. (Например, в Debian / usr / bin / prename устанавливается пакетом perl
.) Если не упакован вашим дистрибутивом (ищите prename
и переименовать
в местах обычных двоичных файлов), он доступен для загрузки из ряда мест, например, здесь , здесь или здесь .
Этот сценарий принимает регулярное выражение, применяемое к каждому из имен файлов, и набор имен файлов, и изменяет имена этих файлов в соответствии с этим регулярным выражением.
Например, вы можете ввести
prename -v -n 's/^.{5}//' *
, чтобы показать, что произойдет, если вы удалите первые пять символов в именах файлов. Чтобы выполнить переименование, просто удалите -n
.
С расширенным регулярным выражением:
grep -E '^([^/]*/[^/]*){1,2}$' input
что приводит к этим совпадениям:
/a/b
/a
/b/c
/b
/c/d
/c
Синтаксис регулярного выражения гласит:
^
-привязка к началу строки (... )
-сгруппировать следующие биты вместе [^/]*
-любой не -прямой -символ косой черты, ноль или более из них /
-косая черта -[^/]*
-любой не -прямой -символ косой черты, ноль или более из них {1,2}
-одна или две из этих групп $
-прикреплен к концу линии