переименовать символ “â” имени каталога?

grep -Ev 'word1|word2' должен работать просто великолепно

3
10.08.2011, 03:14
4 ответа

При использовании find для работы на файлы, необходимо всегда пытаться использовать -exec функция, а не xargs везде, где возможный, потому что это обойдет много потенциальных проблем с заключением в кавычки аргумента. Особенно в случае имен файлов со странными символами, это очень важно.

Попробуйте следующую команду:

find . -type d -name '*â*' -execdir rename 'â' '' {} \;

Это найдет все просто способом, которым Вы были, прежде кроме него будет использовать, находят, чтобы также отфильтровать по имени только для файлов, которые имеют â на имя (так как было бы бессмысленно выполнить переименовать команду при несоответствии файлам), и затем работайте rename на них каждый индивидуально из каталога, где они найдены.

2
27.01.2020, 21:29

Вы просто пытаетесь удалить тот символ из одного файла и не можете сделать этого? Можно ли ввести mv how-вкладкаhow-8093-to или mv how-?8093-to how-8093-to?

0
27.01.2020, 21:29
  • 1
    да, я могу mv, но я предпочитаю rename для переименования слишком многих файлов –  Najib-botak Chin 10.08.2011, 04:28

Можно попробовать к обходному решению с помощью дополнительных классов символов, например:

find . -type d | xargs rename 's/[^A-Za-z0-9 ]//'

Однако в системе Ubuntu 10.04 я не могу воспроизвести Вашу проблему с Вашим именем файла в качестве примера и rename. Возможно, что-то неправильно с Вашей установкой жемчуга или локалями?

0
27.01.2020, 21:29

Я не знаю, как версия переименовывает (я использую версию util-linux), Вы использование, но на моих работах Fedora 15 с:

rename 'â' '' how-â8093-to

От переименовывают руководство:

NAME
   rename - Rename files

SYNOPSIS
       rename from to file...
       rename -V

DESCRIPTION
       rename will rename the specified files by replacing the first occurrence of from in their name by to.

Я ничего не могу считать о sed как синтаксис, который Вы используете.

0
27.01.2020, 21:29

Теги

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