Удалите дату и время из имен файлов

Я должен переименовать свои файлы в Linux от date.time.filename кому: filename.

Пример:

20170310.00.35.06.Samridhi кому: Samridhi

3
задан 10 March 2017 в 12:04

2 ответа

Вы могли удалить дату и время с помощью точного выражения, если формат будет последователен, то Вас оставят с filename часть, какие символы это имеет.

rename -n 's/^\d{8}\.\d{2}\.\d{2}\.\d{2}\.//' *

удаляют -n после тестирования для фактического переименования файлов.

Примечания:

  • \d{8} точно 8 цифр
  • \. литерал .

Благодаря @terdon для указания, которые в переименовывают, мы можем использовать \d для представления любой цифры вместо [0-9]

2
ответ дан 1 December 2019 в 16:55

mv команда перемещения - то, в чем Вы нуждаетесь - она переместит файл в другой каталог и/или переименует его (в том же каталоге).

Так в каталоге с Вашим файлом, введите:

mv -vi 20170310.00.35.06.Samridhi Samridhi.

-v опция покажет Вам, что она делает, в то время как -i опция будет жаловаться, существует ли файл с тем же именем уже, позволяя Вам решить, хотите ли Вы перезаписать ее или нет.

существует также переименовывать-команда, но это более полезно, если у Вас есть много файлов, из которых Вы хотите изменить имя после som шаблон. Например, файлы назвали документ txt.001, документ txt.002, документ txt.003... документ txt.050; и Вы быть бы иметь файлы под названием document-001.txt, document-002.txt и так далее.

0
ответ дан 1 December 2019 в 16:55

Другие вопросы по тегам:

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