Регулярное выражение для добавления расширения в каталог, полный файлов

#regex

#регулярное выражение

Вопрос:

Я новичок в регулярных выражениях.

У меня есть много неправильно пронумерованных ascii-файлов без расширения: g000554, g000556, g000558, g000561, g000563 … g001979 и т. Д

Я хотел бы ввести регулярное выражение в терминале (или в коротком скрипте), чтобы добавить .dat ко всем этим файлам.

Итак, я хотел бы изменить их на: g000554.dat, g000556.dat, g000558.dat, g000561.dat, g000563.dat … g001979.dat и т. Д

p.s. Извините, я должен был предоставить больше информации: под терминалом я имел в виду терминал Mac, и я не могу использовать команду ‘rename’.

Комментарии:

1. терминал? какой терминал?

2. Это также зависит от того, какой язык программирования вы используете.

3. На самом деле вам не нужно регулярное выражение beyond * , и вы ищете mmv .

4. Сопоставьте » /$/ » и замените на «.dat». Кроме того, вам действительно не нужно регулярное выражение…

Ответ №1:

Я думаю, вы используете систему Linux. Итак, я предлагаю решение bash. Это работает, только если ваши файлы начинаются с g и в этом каталоге нет других файлов, кроме файлов, которые вы хотите переименовать.

 for i in g*; do mv "$i" "$i.dat"; done
  

Приведенное ниже будет добавлять .dat расширения ко всем файлам, присутствующим в текущем каталоге,

 for i in *; do mv "$i" "$i.dat"; done
  

Комментарии:

1. Как мне массово изменять имена файлов. Например, у меня есть Suns000554.dat, Suns000556.dat, Suns000558.dat … и т.д., и я хочу изменить их на s000554.dat, s000556.dat, s000558.dat