Переместите и переименуйте все файлы в каталоге по дате и номеру

Я хотел бы переместить и переименовать все файлы в директории с датой и номером на конце как индикатор уникальности файлов. Для этого я написал небольшой сценарий на bash, но он помещает число перед именем файла. Возможно ли это, или мне нужно пойти другим путем?

Я получаю abc20210407215936.pdf, но я хотел бы получить что-то вроде 20210407215936-1.pdf 20210407215936-2.pdf.

Заранее спасибо. Ниже приведен сценарий.

#!/bin/bash

d=$(date +%Y%m%d%H%M%S)
echo "$d"

cd /path/to/pdfs

counter=1

for f in *.pdf; do
        mv -- "$f" "$d-$((counter)).pdf"
echo "files will be moved"

done


exit
0
задан 8 April 2021 в 00:58

1 ответ

Вы можете добавить счетчик и добиться этого следующим образом

#!/bin/bash
    
d=$(date +%Y%m%d%H%M%S)

echo "$d"
counter=0
for f in *.pdf; do
    # Since you are using mv, be very sure to check it by echoing, ow, files will be renamed
    mv -- "$f" "$d-$((++counter)).pdf"

done


exit
1
ответ дан 23 April 2021 в 23:25

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

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