Переименование файлов в Amazon S3 - PullRequest
0 голосов
/ 20 сентября 2018

Я хотел бы переименовать все файлы в корзине Amazon S3 с расширением .PDF в .pdf (строчные буквы).

Кто-то уже должен был это делать?Есть много файлов (около 1500).S3cmd - лучший способ сделать это?Как бы вы сделали?

1 Ответ

0 голосов
/ 20 сентября 2018
  s3cmd --recursive ls s3://bucketname |
        awk '{ print $4 }' | grep "*.pdf"  | while read -r line ; do

s3cmd --recursive mv s3://<s3_bucketname>/$line/ s3://<s3_bucketname>/${line%.*}".PDF"

done

Пример локального linux / unix для переименования всех файлов с расширением .pdf до .PDF.

mkdir pdf-test
cd pdf-test
touch a{1..10}.pdf

До

 ls
    a1.pdf  a2.pdf  a4.pdf  a6.pdf  a8.pdf  grep.sh
    a10.pdf a3.pdf  a5.pdf  a7.pdf  a9.pdf

Файл сценария grep.sh

#/bin/bash
ls |grep .pdf | while read -r line ; do # here use ls from s3
    echo "Processing $line"
    # your s3 code goes here
    mv $line ${line%.*}".PDF"
done

Добавьте разрешения и попробуйте

 chmod u+x grep.sh

./grep.sh

После

ls
a1.PDF  a2.PDF  a4.PDF  a6.PDF  a8.PDF  grep.sh
a10.PDF a3.PDF  a5.PDF  a7.PDF  a9.PDF

Вы можете применить ту же логику.вместо mv используйте s3 mv.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...