シェルスクリプトで、ファイルをファイルの修正時間の順番にソートして連番をふるにはどのようなコードを書けばよいでしょうか??
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
連番にリネームすると言うことですかね?一番古いのを1
にするなら、
Bash
1N=1 2for f in `ls -tr` 3do mv $f $N 4 let N++ 5done
一番新しいのを1
にするならls -t
で。
投稿2019/05/31 15:46
総合スコア84645
0
ls
の-t
オプションとcat
の-n
オプションを組み合わせて書けばよいです。
【 ls 】コマンド――ファイルを一覧表示する:Linux基本コマンドTips(26) - @IT
https://www.atmarkit.co.jp/ait/articles/1606/27/news018.html
【 cat 】コマンド――設定ファイルの内容を簡単に確認する:Linux基本コマンドTips(1) - @IT
https://www.atmarkit.co.jp/ait/articles/1602/25/news034.html
投稿2019/05/31 15:01
総合スコア2743
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
参考情報
- Renaming files in a folder to sequential numbers
https://stackoverflow.com/questions/3211595
試してみました。
a.sh
bash
1a=1 2for i in `ls -t *.txt`; do 3 new=$(printf "%04d.txt" "$a") #04 pad to length of 4 4 mv -i -- "$i" "$new" 5 let a=a+1 6done
投稿2019/06/01 01:26
総合スコア22324
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。