Чего я хочу?
Учитывая следующую структуру каталогов:
.
├── bar.py
├── hap
│ ├── bla.py
│ └── tests
│ └── test_hap.py
└── hip
├── testimony.py
└── tests
├── foo.py
└── test_hip.py
Я хотел бы перейти к следующему:
.
├── bar.py
├── hap
│ ├── bla.py
│ └── tests
│ └── test_hap.py.bad
└── hip
├── testimony.py
└── tests
├── foo.py
└── test_hip.py.bad
Итак, я хочу , чтобы добавить .bad ко всем файлам , начиная с test_ , которые находятся в директории tests
Что я пробовал?
Из советов, приведенных в этой теме, я попробовал следующее:
shopt -s globstar
rename "s/tests\/test_.*/tests\/test_.*\.bad/" **
Но .* В new части шаблона замены s/old/new , по-видимому, автоматически экранируется. Как я могу позволить второму .* Интерпретировать как регулярное выражение?
Кроме того, используя test_.*\.bad$ дает мне следующее:
Final $ should be \$ or $name at (eval 1) line 1, within string
