質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Q&A

解決済

2回答

12500閲覧

ファイルの名前を一括で変更したい

daisuke_factex

総合スコア42

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

1グッド

1クリップ

投稿2017/08/21 02:23

###前提・実現したいこと
分析に使用するファイルの名前を連番にしたい。

###発生している問題・エラーメッセージ

現在のファイルの名前は
11aw_rtw_0df30441379ebdcb2a7(中略)4784603003f4163ce_160_240.jpg
11aw_rtw_1d4fb3c9daae29a1ef4(中略)2f362fa7b49ef509_160_240.jpg
11aw_rtw_1e8974a93a5dcf5a7f8(中略)7ba4fba16410d9721_160_240.jpg
11aw_rtw_2e0c72436048c086ba6(中略)303f9ed028467ff_160_240.jpg
11aw_rtw_2eb306b38149ffbbe99(中略)91a5b9b517eccfb_160_240.jpg
11aw_rtw_6dde3fa0b8d29dd56839(中略)548a14ee1d0d1a2_160_240.jpg
11aw_rtw_7b02d5fe1b92c6a99ec5(中略)9470e1604697fe_160_240.jpg
となっていて、この状態から、

001.jpg
002.jpg
003.jpg
004.jpg
005.jpg
006.jpg
007.jpg

のような連番にしたいです。

ファイル名を変更する記事(http://kurumatorajirou.blogspot.jp/2015/04/ubuntu.html)を参考にしてみたが、一括で文字列を削除するコードが見当たらず、困っております。

###補足情報(言語/FW/ツール等のバージョンなど)
ubuntu16.04

good_island👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

拡張子がjpgだけでいいというならこれでどうでしょう?

ls *.jpg | awk '{ printf "mv %s %03d.jpg\n", $0, NR }' | sh

順番はlsで表示した順に連番になります。

投稿2017/08/21 02:40

編集2017/08/21 03:22
chelsy7110

総合スコア596

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

daisuke_factex

2017/08/21 04:09

ありがとうございます!確かに、これでうまくできました! 非常に贅沢なのですが、「文字-001.jpg」の場合は %03dの前に文字を入れれば良いのでしょうか?
chelsy7110

2017/08/21 04:48

それで大丈夫だと思います。
guest

0

パッと思いついたコードです

bash

1#!/bin/bash 2 3target_dir=target 4 5touch ${target_dir}/aaa.jpg 6touch ${target_dir}/bbb.png 7touch ${target_dir}/ccc.gif 8 9index=1 10 11for old_name in $(ls ${target_dir}) 12do 13 extension=$(echo ${old_name} | cut -d "." -f 2) 14 new_name=$(printf "%03d" $index).${extension} 15 mv ${target_dir}/${old_name} ${target_dir}/${new_name} 16 index=$(expr ${index} + 1) 17done 18 19ls -l ${target_dir} 20#001.jpg 21#002.png 22#003.gif

投稿2017/08/21 02:55

morix

総合スコア96

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

daisuke_factex

2017/08/22 02:08 編集

回答有り難うございます! 先に回答していただいた方のコードが簡潔(汎用性が高い)ので、そちらをBAにさせていただきました。 協力、ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問