Замена имен плохих файлов, каталогов и подкаталогов с помощью регексового шаблона

zpool replace mypool c9t50060E801331FC42d6 c6t500507630A200568d4

помогло

2
24.01.2019, 16:34
1 ответ

Предполагая, что \357\200\242являются восьмеричными числами. Попробуйте:

rename -n 's/\o{357}\o{200}\o{242}/:/g' 2018-*

Команда renameработает с заменой регулярного выражения Perl. Здесь он заменяет три символа, заданные как восьмеричные байтовые значения, двоеточием.

Из-за -nэто просто печатает то, что должно было бы быть сделано. Таким образом, вы можете протестировать, ничего не разрушив.

Когда вы уверены, что это делает то, что вы хотите, выполните без -n.

Если вам нужно обойти все дерево каталогов, объедините его с поиском:

find. -depth -exec rename -n 's/\o{357}\o{200}\o{242}/:/g' {} \;

Не беспокойтесь, если дерево каталогов содержит файлы, которые не нужно переименовывать. Если замена регулярного выражения не меняет имя файла, файл не переименовывается.

1
27.01.2020, 22:29

Теги

Похожие вопросы