Форум русскоязычного сообщества Ubuntu


За новостями русскоязычного сообщества и Ubuntu в целом можно следить на нашей страничке в Google+

Автор Тема: Можно переименовать все что нашел командой find?  (Прочитано 454 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн panteleev

  • Автор темы
  • Любитель
  • *
  • Сообщений: 58
    • Просмотр профиля
Всем доброго времени суток!

Некий каталог, в нем еще пять.
В каталогах с первого по пятый есть файл test.txt, какой командой можно переименовать все test.txt?
find . -name ’test.txt’ -exec mv ’s/test.txt/TEST.txt/g’ {} \; - нагуглил такую команду, не работает.
Подсобите пожалуйста.

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 5661
  • elementaryOS 0.4 Loki, i3wm on Debian9
    • Просмотр профиля
Такое впечатление, что "надергали" из разных команд:
Код: Bash
  1. find . -name 'test.txt' -exec rename.ul test TEST {} +
  2. find . -depth -name 'test.txt' -execdir mv test.txt TEST.txt \;
  3. find . -name 'test.txt' -exec prename 's/text.txt/TEST.txt/' {} +
  4. find . -name 'test.txt' -exec prename 's/text(?=\.txt$)/\U$&/' {} +
« Последнее редактирование: 22 Июль 2016, 23:06:07 от Azure »
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн panteleev

  • Автор темы
  • Любитель
  • *
  • Сообщений: 58
    • Просмотр профиля
Спасибо, Azure
Цитировать
Такое впечатление, что "надергали" из разных команд:
Так и есть, час по google "лазил" и экспериментировал.

первая команда не сработала. Еще не сталкивался с rename.ul - это что бы расширение не ставить? Надо будет почитать, с подобным задачей часто сталкиваюсь, так что все команды попробую.
Еще раз спасибо!

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 5661
  • elementaryOS 0.4 Loki, i3wm on Debian9
    • Просмотр профиля
первая команда не сработала.
Там стояли «неправильные» кавычки — исправил.
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 1970
    • Просмотр профиля
Azure,
Зачем ставить точку, если и без нее работает в текущей директории?
Зачем опция -depth если нужно обрабатывать только файлы?
Без указания типа: "-type f" кроме файлов могут быть обработаны директории, симлинки, и прочие типы если они будут иметь соответствующее имя.

 

Страница сгенерирована за 0.064 секунд. Запросов: 25.