#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